/*
 * Copyright (C) 2007-2008 Nokia Corporation.
 *
 * Author: Felipe Contreras <felipe.contreras@nokia.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation
 * version 2.1 of the License.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

#ifndef GSTOMX_H
#define GSTOMX_H

#include <gst/gst.h>

G_BEGIN_DECLS

#define DEFAULT_LIBRARY_NAME "libomxil.so.0"

GST_DEBUG_CATEGORY_EXTERN (gstomx_debug);
#define GST_CAT_DEFAULT gstomx_debug

G_END_DECLS

#endif /* GSTOMX_H */

/*
 * Copyright (C) 2007-2008 Nokia Corporation.
 *
 * Author: Felipe Contreras <felipe.contreras@nokia.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation
 * version 2.1 of the License.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

#ifndef GSTOMX_H
#define GSTOMX_H

#include <gst/gst.h>

G_BEGIN_DECLS

#define DEFAULT_LIBRARY_NAME "libomxil-bellagio.so.0"

GST_DEBUG_CATEGORY_EXTERN (gstomx_debug);
#define GST_CAT_DEFAULT gstomx_debug

G_END_DECLS

#endif /* GSTOMX_H */

Update library name to new bellagio library.


// RUN: clang -checker-simple -verify %s
// RUN: clang -checker-simple -analyzer-store-region -verify %s

struct s {
  int data;
  int data_array[10];
};

typedef struct {
  int data;
} STYPE;

void f(void) {
  int a[10];
  int (*p)[10];
  p = &a;
  (*p)[3] = 1;

  struct s d;
  struct s *q;
  q = &d;
  q->data = 3;
  d.data_array[9] = 17;
}

void f2() {
  char *p = "/usr/local";
  char (*q)[4];
  q = &"abc";
}

void f3() {
  STYPE s;
}

void f4() {
  int a[] = { 1, 2, 3};
  int b[3] = { 1, 2 };
}

// RUN: clang -checker-simple -verify %s
// RUN: clang -checker-simple -analyzer-store-region -verify %s

struct s {
  int data;
  int data_array[10];
};

typedef struct {
  int data;
} STYPE;

void g1(struct s* p);

void f(void) {
  int a[10];
  int (*p)[10];
  p = &a;
  (*p)[3] = 1;

  struct s d;
  struct s *q;
  q = &d;
  q->data = 3;
  d.data_array[9] = 17;
}

void f2() {
  char *p = "/usr/local";
  char (*q)[4];
  q = &"abc";
}

void f3() {
  STYPE s;
}

void f4() {
  int a[] = { 1, 2, 3};
  int b[3] = { 1, 2 };
}

void f5() {
  struct s data;
  g1(&data);
}

Add function side-effect test cast.

Add function side-effect test cast.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@58565 91177308-0d34-0410-b5e6-96231b3b80d8


#include "config.h"
#include <msp430.h>

void delayMs(uint16_t ms);

static void
cpu_init(void) {
	WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

	/* Set proper CPU clock speed */
	DCOCTL = 0;
#if CPU_FREQ == 1
    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;
#elif CPU_FREQ == 8
    BCSCTL1 = CALBC1_8MHZ;
    DCOCTL = CALDCO_8MHZ;
#elif CPU_FREQ == 12
    BCSCTL1 = CALBC1_12MHZ
    DCOCTL = CALDCO_12HZ;
#elif CPU_FREQ == 16
    BCSCTL1 = CALBC1_16MHZ;
    DCOCTL = CALDCO_16MHZ;
#else
#error "Unsupported CPU frequency"
#endif
}

/* Spends 3 * n cycles */
__inline__ static void delay_cycles(register unsigned int n) {
	__asm__ __volatile__ (
			"1: \n"
			" dec	%[n] \n"
			" jne	1b \n"
			: [n] "+r"(n));
}

#include "config.h"
#include <msp430.h>
#include <stdint.h>

void delayMs(uint16_t ms);

static void
cpu_init(void) {
	WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

	/* Set proper CPU clock speed */
	DCOCTL = 0;
#if CPU_FREQ == 1
    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;
#elif CPU_FREQ == 8
    BCSCTL1 = CALBC1_8MHZ;
    DCOCTL = CALDCO_8MHZ;
#elif CPU_FREQ == 12
    BCSCTL1 = CALBC1_12MHZ
    DCOCTL = CALDCO_12HZ;
#elif CPU_FREQ == 16
    BCSCTL1 = CALBC1_16MHZ;
    DCOCTL = CALDCO_16MHZ;
#else
#error "Unsupported CPU frequency"
#endif
}

/* Spends 3 * n cycles */
__inline__ static void delay_cycles(register unsigned int n) {
	__asm__ __volatile__ (
			"1: \n"
			" dec	%[n] \n"
			" jne	1b \n"
			: [n] "+r"(n));
}

Include stdint to get uint16_t

Include stdint to get uint16_t


/* $Id$ $Revision$ */
/* vim:set shiftwidth=4 ts=8: */

/**********************************************************
*      This software is part of the graphviz package      *
*                http://www.graphviz.org/                 *
*                                                         *
*            Copyright (c) 1994-2004 AT&T Corp.           *
*                and is licensed under the                *
*            Common Public License, Version 1.0           *
*                      by AT&T Corp.                      *
*                                                         *
*        Information and Software Systems Research        *
*              AT&T Research, Florham Park NJ             *
**********************************************************/

#include "gvplugin.h"

extern gvplugin_installed_t gvdevice_devil_types;

static gvplugin_api_t apis[] = {
    {API_device, &gvdevice_devil_types},
    {(api_t)0, 0},
};

gvplugin_library_t gvplugin_devil_LTX_library = { "devil", apis };

/* $Id$ $Revision$ */
/* vim:set shiftwidth=4 ts=8: */

/**********************************************************
*      This software is part of the graphviz package      *
*                http://www.graphviz.org/                 *
*                                                         *
*            Copyright (c) 1994-2004 AT&T Corp.           *
*                and is licensed under the                *
*            Common Public License, Version 1.0           *
*                      by AT&T Corp.                      *
*                                                         *
*        Information and Software Systems Research        *
*              AT&T Research, Florham Park NJ             *
**********************************************************/

#include "gvplugin.h"

extern gvplugin_installed_t gvdevice_devil_types[];

static gvplugin_api_t apis[] = {
    {API_device, gvdevice_devil_types},
    {(api_t)0, 0},
};

gvplugin_library_t gvplugin_devil_LTX_library = { "devil", apis };

Apply patch for C standards compliance:
	"All declarations that
	refer to the same object or function shall have compatible type;
	otherwise, the behavior is undefined."  (That's from ISO/IEC 9899:TC2
	final committee draft, section 6.2.7.)

	This doesn't trigger issues with most C implementations, but there
	is one implementation in development (GCC LTO branch) which does
	flag this issue.

Patch from:	Chris Demetriou <cgd@google.com>


// RUN: %clang_cc1 -triple i386-unknown-unknown %s -O3 -emit-llvm -o - | grep 'ret i32 6'
// RUN: %clang_cc1 -triple i386-unknown-unknown -x c++ %s -O3 -emit-llvm -o - | grep 'ret i32 7'

static enum { foo, bar = 1U } z;

int main (void)
{
  int r = 0;

  if (bar - 2 < 0)
    r += 4;
  if (foo - 1 < 0)
    r += 2;
  if (z - 1 < 0)
    r++;

  return r;
}

// RUN: %clang_cc1 -triple i386-unknown-unknown %s -O3 -emit-llvm -o - | grep 'ret i32 6'
// RUN: %clang_cc1 -triple i386-unknown-unknown -x c++ %s -O3 -emit-llvm -o - | grep 'ret i32 7'

// This test case illustrates a peculiarity of the promotion of
// enumeration types in C and C++. In particular, the enumeration type
// "z" below promotes to an unsigned int in C but int in C++.
static enum { foo, bar = 1U } z;

int main (void)
{
  int r = 0;

  if (bar - 2 < 0)
    r += 4;
  if (foo - 1 < 0)
    r += 2;
  if (z - 1 < 0)
    r++;

  return r;
}

Comment a wacky test case

Comment a wacky test case

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@123758 91177308-0d34-0410-b5e6-96231b3b80d8


/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
 *     Copyright 2013 Couchbase, Inc.
 *
 *   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.
 */

#include <internal.h> /* getenv, sytem, snprintf */

int main(int argc, char *argv[])
{
#ifndef WIN32
    char *srcdir = getenv("srcdir");
    char command[FILENAME_MAX];
    int status;

    snprintf(command, FILENAME_MAX, "%s/tools/cbc version 2>&1", srcdir);
    status = system(command);
    if (status == -1 || WIFSIGNALED(status) || WEXITSTATUS(status) != 0) {
        return 1;
    }
    snprintf(command, FILENAME_MAX, "%s/tools/cbc help 2>&1", srcdir);
    if (status == -1 || WIFSIGNALED(status) || WEXITSTATUS(status) != 0) {
        return 1;
    }
#endif
    return 0;
}

/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
 *     Copyright 2013 Couchbase, Inc.
 *
 *   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.
 */

#include <internal.h> /* getenv, sytem, snprintf */

int main(void)
{
#ifndef WIN32
    char *srcdir = getenv("srcdir");
    char command[FILENAME_MAX];
    int status;

    snprintf(command, FILENAME_MAX, "%s/tools/cbc version 2>&1", srcdir);
    status = system(command);
    if (status == -1 || WIFSIGNALED(status) || WEXITSTATUS(status) != 0) {
        return 1;
    }
    snprintf(command, FILENAME_MAX, "%s/tools/cbc help 2>&1", srcdir);
    if (status == -1 || WIFSIGNALED(status) || WEXITSTATUS(status) != 0) {
        return 1;
    }
#endif
    return 0;
}

Fix compile error with -Werror

Fix compile error with -Werror

Change-Id: Ifac2f0b1c06534bc85bad5fe2b2594c4eb208dda
Reviewed-on: http://review.couchbase.org/27387
Tested-by: Trond Norbye <60edd2ef23891a753f231b0c6f161dc634079a93@gmail.com>
Reviewed-by: Sergey Avseyev <87f6d5e4fd3644c3c20800cde7fd3ad1569370b3@gmail.com>


// AMX profiler for SA-MP server: http://sa-mp.com
//
// Copyright (C) 2011-2012 Sergey Zolotarev
//
// 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.

#ifndef AMX_PROFILER_PROFILE_WRITER_H
#define AMX_PROFILER_PROFILE_WRITER_H

#include <memory>
#include <ostream>
#include <vector>
#include "function_info.h"

namespace amx_profiler {

class FunctionInfo;

class ProfileWriter {
public:
	virtual void Write(const std::string &script_name, std::ostream &stream,
			const std::vector<FunctionInfoPtr> &stats) = 0;
};

} // namespace amx_profiler

#endif // !AMX_PROFILER_PROFILE_WRITER_H

// AMX profiler for SA-MP server: http://sa-mp.com
//
// Copyright (C) 2011-2012 Sergey Zolotarev
//
// 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.

#ifndef AMX_PROFILER_PROFILE_WRITER_H
#define AMX_PROFILER_PROFILE_WRITER_H

#include <memory>
#include <ostream>
#include <vector>
#include "function_info.h"

namespace amx_profiler {

class ProfileWriter {
public:
	virtual void Write(const std::string &script_name, std::ostream &stream,
			const std::vector<FunctionInfoPtr> &stats) = 0;
};

} // namespace amx_profiler

#endif // !AMX_PROFILER_PROFILE_WRITER_H

Remove useless forward declaration of FunctionInfo


#pragma once
#include <unistd.h>

#include <iostream>
#include <list>
#include <map>
#include <mutex>
#include <unordered_map>
#include <queue>
#include <sstream>
#include <set>
#include <thread>
#include <tuple>
#include <vector>

#pragma once
#include <unistd.h>

#include <fstream>
#include <iostream>
#include <list>
#include <map>
#include <mutex>
#include <unordered_map>
#include <queue>
#include <sstream>
#include <set>
#include <thread>
#include <tuple>
#include <vector>

Include fstream for file reading and such.


/*
 * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
 * Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
 *
 * This copyrighted material is made available to anyone wishing to use,
 * modify, copy, or redistribute it subject to the terms and conditions
 * of the GNU General Public License v.2.
 */

#ifndef __GFS2_IOCTL_DOT_H__
#define __GFS2_IOCTL_DOT_H__

#define _GFS2C_(x)               (('G' << 16) | ('2' << 8) | (x))

/* Ioctls implemented */

#define GFS2_IOCTL_IDENTIFY      _GFS2C_(1)
#define GFS2_IOCTL_SUPER         _GFS2C_(2)
#define GFS2_IOCTL_SETFLAGS      _GFS2C_(3)
#define GFS2_IOCTL_GETFLAGS      _GFS2C_(4)

struct gfs2_ioctl {
	unsigned int gi_argc;
	const char **gi_argv;

        char __user *gi_data;
	unsigned int gi_size;
	uint64_t gi_offset;
};

#endif /* ___GFS2_IOCTL_DOT_H__ */

/*
 * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
 * Copyright (C) 2004-2005 Red Hat, Inc.  All rights reserved.
 *
 * This copyrighted material is made available to anyone wishing to use,
 * modify, copy, or redistribute it subject to the terms and conditions
 * of the GNU General Public License v.2.
 */

#ifndef __GFS2_IOCTL_DOT_H__
#define __GFS2_IOCTL_DOT_H__

#define _GFS2C_(x)               (('G' << 16) | ('2' << 8) | (x))

/* Ioctls implemented */

#define GFS2_IOCTL_SETFLAGS      _GFS2C_(3)
#define GFS2_IOCTL_GETFLAGS      _GFS2C_(4)

#endif /* ___GFS2_IOCTL_DOT_H__ */

[GFS2] Remove unused ioctls and unused structure

Signed-off-by: David Teigland <cf7ba74ea50525d3d47fcd7a6d69b51121a9f873@redhat.com>
Signed-off-by: Steven Whitehouse <9801c4ef11586b619a1c43ac9377eea2aee672dd@redhat.com>


/*
 * Copyright (c) 2018 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <kernel_structs.h>
#include <cmsis_os.h>
#include <ksched.h>

extern const k_tid_t _main_thread;

/**
 * @brief Get the RTOS kernel system timer counter
 */
uint32_t osKernelSysTick(void)
{
	return k_cycle_get_32();
}

/**
 * @brief Initialize the RTOS Kernel for creating objects.
 */
osStatus osKernelInitialize(void)
{
	return osOK;
}

/**
 * @brief Start the RTOS Kernel.
 */
osStatus osKernelStart(void)
{
	return osOK;
}

/**
 * @brief Check if the RTOS kernel is already started.
 */
int32_t osKernelRunning(void)
{
	return _has_thread_started(_main_thread);
}

/*
 * Copyright (c) 2018 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <kernel_structs.h>
#include <cmsis_os.h>
#include <ksched.h>

extern const k_tid_t _main_thread;

/**
 * @brief Get the RTOS kernel system timer counter
 */
uint32_t osKernelSysTick(void)
{
	return k_cycle_get_32();
}

/**
 * @brief Initialize the RTOS Kernel for creating objects.
 */
osStatus osKernelInitialize(void)
{
	return osOK;
}

/**
 * @brief Start the RTOS Kernel.
 */
osStatus osKernelStart(void)
{
	 if (_is_in_isr()) {
		 return osErrorISR;
	 }
	 return osOK;
}

/**
 * @brief Check if the RTOS kernel is already started.
 */
int32_t osKernelRunning(void)
{
	return _has_thread_started(_main_thread);
}

lib/cmsis_rtos_v1: Check if osKernelStart() is called from ISR

Check if osKernelStart() is called from ISR and return error code
appropriately.

Signed-off-by: Spoorthi K <c4ff46ff4cba9c2c6c6c9d55497ae534451b4309@intel.com>


#ifndef UTILS_H
#define UTILS_H

#include <curses.h>
#include <stdint.h>

void color_str(WINDOW *, uint32_t, uint32_t, int16_t, int16_t, const char *);
void init_seed_srand(void);

#endif /* UTILS_H */

#ifndef UTILS_H
#define UTILS_H

#include <curses.h>
#include <stdint.h>

#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))

void color_str(WINDOW *, uint32_t, uint32_t, int16_t, int16_t, const char *);
void init_seed_srand(void);

#endif /* UTILS_H */

Add MIN and MAX macros.

Add MIN and MAX macros.


// stm32f4xx_prefix.c becomes the initial portion of the generated pins file.

#include <stdio.h>

#include "py/obj.h"
#include "pin.h"
#include MICROPY_HAL_H

#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
{ \
    { &pin_af_type }, \
    .name = MP_QSTR_AF ## af_idx ## _ ## af_fn ## af_unit, \
    .idx = (af_idx), \
    .fn = AF_FN_ ## af_fn, \
    .unit = (af_unit), \
    .type = AF_PIN_TYPE_ ## af_fn ## _ ## af_type, \
    .af_fn = (af_ptr) \
}

#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
{ \
    { &pin_type }, \
    .name = MP_QSTR_ ## p_port ## p_pin, \
    .port = PORT_ ## p_port, \
    .pin = (p_pin), \
    .num_af = (sizeof(p_af) / sizeof(pin_obj_t)), \
    .pin_mask = (1 << ((p_pin) & 0x0f)), \
    .gpio = GPIO ## p_port, \
    .af = p_af, \
    .adc_num = p_adc_num, \
    .adc_channel = p_adc_channel, \
}

// stm32f4xx_prefix.c becomes the initial portion of the generated pins file.

#include <stdio.h>

#include "py/obj.h"
#include "pin.h"
#include MICROPY_HAL_H

#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
{ \
    { &pin_af_type }, \
    .name = MP_QSTR_AF ## af_idx ## _ ## af_fn ## af_unit, \
    .idx = (af_idx), \
    .fn = AF_FN_ ## af_fn, \
    .unit = (af_unit), \
    .type = AF_PIN_TYPE_ ## af_fn ## _ ## af_type, \
    .af_fn = (af_ptr) \
}

#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
{ \
    { &pin_type }, \
    .name = MP_QSTR_ ## p_port ## p_pin, \
    .port = PORT_ ## p_port, \
    .pin = (p_pin), \
    .num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
    .pin_mask = (1 << ((p_pin) & 0x0f)), \
    .gpio = GPIO ## p_port, \
    .af = p_af, \
    .adc_num = p_adc_num, \
    .adc_channel = p_adc_channel, \
}

Fix alt function number calculation

stmhal/boards/stm32fxx_prefix.c: Fix alt function number calculation

This prevented pin_find_af* functions from being able to find some
of the alternate functions in the pin struct


#ifndef SETI_EXCEPTION_H
#define SETI_EXCEPTION_H

#include <exception>
#include <string>
#include <boost/format.hpp>

namespace setti {
namespace internal {

/**
 * @brief Class to represent an run time error
 *
 * This class encapsulates run time error, and it is
 * used to represent errors as symbol not found,
 * command not found and out of range
 */
class RunTimeError : public std::exception {
 public:
  enum class ErrorCode: uint8_t{
    NULL_ACCESS,
    SYMBOL_NOT_FOUND,
    CMD_NOT_FOUND,
    OUT_OF_RANGE,
    KEY_NOT_FOUND,
    INCOMPATIBLE_TYPE
  };

  RunTimeError();

  RunTimeError(ErrorCode code, const boost::format& msg)
      : code_(code), msg_(msg) {}

  virtual ~RunTimeError() noexcept  = default;

  /**
   * @return the error description and the context as a text string.
   */
  virtual const char* what() const noexcept {
    msg_.str().c_str();
  }

  ErrorCode code_;
  const boost::format& msg_;
};

}
}

#endif  // SETI_EXCEPTION_H

#ifndef SETI_EXCEPTION_H
#define SETI_EXCEPTION_H

#include <exception>
#include <string>
#include <boost/format.hpp>

namespace setti {
namespace internal {

/**
 * @brief Class to represent an run time error
 *
 * This class encapsulates run time error, and it is
 * used to represent errors as symbol not found,
 * command not found and out of range
 */
class RunTimeError : public std::exception {
 public:
  enum class ErrorCode: uint8_t{
    NULL_ACCESS,
    SYMBOL_NOT_FOUND,
    CMD_NOT_FOUND,
    OUT_OF_RANGE,
    KEY_NOT_FOUND,
    INCOMPATIBLE_TYPE
  };

  RunTimeError();

  RunTimeError(ErrorCode code, const boost::format& msg)
      : code_(code), msg_(boost::str(msg)) {}

  virtual ~RunTimeError() noexcept  = default;

  /**
   * @return the error description and the context as a text string.
   */
  virtual const char* what() const noexcept {
    msg_.c_str();
  }

  ErrorCode code_;
  std::string msg_;
};

}
}

#endif  // SETI_EXCEPTION_H

Fix run time error message

Fix run time error message


/*
 * Copyright 2013 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef GrProxyMove_DEFINED
#define GrProxyMove_DEFINED

// In a few places below we rely on braced initialization order being defined by the C++ spec (left
// to right). We use operator-> on a sk_sp and then in a later argument std::move() the sk_sp. GCC
// 4.9.0 and earlier has a bug where the left to right order evaluation isn't implemented correctly.
#if defined(__GNUC__) && !defined(__clang__)
#   define GCC_VERSION (__GNUC__ * 10000  + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#   if (GCC_VERSION > 40900)
#       define GCC_EVAL_ORDER_BUG 0
#   else
#       define GCC_EVAL_ORDER_BUG 1
#   endif
#   undef GCC_VERSION
#else
#   define GCC_EVAL_ORDER_BUG 0
#endif

#if GCC_EVAL_ORDER_BUG
#   define GR_PROXY_MOVE(X) (X)
#else
#   define GR_PROXY_MOVE(X) (std::move(X))
#endif

#undef GCC_EVAL_ORDER_BUG

#endif

/*
 * Copyright 2013 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef GrProxyMove_DEFINED
#define GrProxyMove_DEFINED

// In a few places below we rely on braced initialization order being defined by the C++ spec (left
// to right). We use operator-> on a sk_sp and then in a later argument std::move() the sk_sp. GCC
// 4.9.0 and earlier has a bug where the left to right order evaluation isn't implemented correctly.
//
// Clang has the same bug when targeting Windows (http://crbug.com/687259).
// TODO(hans): Remove work-around once Clang is fixed.
#if defined(__GNUC__) && !defined(__clang__)
#   define GCC_VERSION (__GNUC__ * 10000  + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#   if (GCC_VERSION > 40900)
#       define GCC_EVAL_ORDER_BUG 0
#   else
#       define GCC_EVAL_ORDER_BUG 1
#   endif
#   undef GCC_VERSION
#elif defined(_MSC_VER) && defined(__clang__)
#   define GCC_EVAL_ORDER_BUG 1
#else
#   define GCC_EVAL_ORDER_BUG 0
#endif

#if GCC_EVAL_ORDER_BUG
#   define GR_PROXY_MOVE(X) (X)
#else
#   define GR_PROXY_MOVE(X) (std::move(X))
#endif

#undef GCC_EVAL_ORDER_BUG

#endif

Work around Win/Clang eval order bug

GR_PROXY_MOVE: Work around Win/Clang eval order bug

BUG=chromium:687259

Change-Id: I145dac240a3c4f89cf1b6bf6ff54ba73cd110ebf
Reviewed-on: https://skia-review.googlesource.com/7831
Reviewed-by: Hans Wennborg <a07172e79c6f961ccb614746feeee38b5e9a6399@google.com>
Reviewed-by: Brian Salomon <61fabaaf0876044aeedfd8e351e485c028d69e7b@google.com>
Commit-Queue: Robert Phillips <95e8ac5504948c7bf91b22c16a8dbb7ae7c66bfd@google.com>


typedef struct {
	long double r;
	long double b;
	long double g;
	long double a;
} cgColor;

unsigned int framebuffer_h;
unsigned int framebuffer_v;

cgColor ** framebuffer;

void init_framebuffer(unsigned int h, unsigned int v);

typedef struct {
	long double r;
	long double g;
	long double b;
	long double a;
} cgColor;

unsigned int framebuffer_h;
unsigned int framebuffer_v;

cgColor ** framebuffer;

void init_framebuffer(unsigned int h, unsigned int v);

Fix mistype in color structure

Fix mistype in color structure


//
//  TPGPGOutputChunk.h
//  TPCocoaGPG
//
//  Created by Thomas Pelletier on 10/23/14.
//  Copyright (c) 2014 Thomas Pelletier. See LICENSE.
//

#import <Foundation/Foundation.h>

@interface TPGPGOutputChunk : NSObject {
  NSString* _key;
  NSString* _text;
}

+ (TPGPGOutputChunk*)makeWithKey:(NSString*)key andText:(NSString*)text;

@property (nonatomic, assign) NSString* key;
@property (nonatomic, assign) NSString* text;

@end

//
//  TPGPGOutputChunk.h
//  TPCocoaGPG
//
//  Created by Thomas Pelletier on 10/23/14.
//  Copyright (c) 2014 Thomas Pelletier. See LICENSE.
//

#import <Foundation/Foundation.h>

/**
 Internal representation of GPG's parsed standard error.
 */
@interface TPGPGOutputChunk : NSObject {
  NSString* _key;
  NSString* _text;
}

/**
 Allocate and initialize a new chunk.

 @param key Output key
 @param text Associated text
 @return The new chunk
*/
+ (TPGPGOutputChunk*)makeWithKey:(NSString*)key andText:(NSString*)text;

@property (nonatomic, assign) NSString* key;
@property (nonatomic, assign) NSString* text;

@end

Add some doc for output chunk

Add some doc for output chunk


#ifndef TYPES_H
#define TYPES_H

// Explicitly-sized versions of integer types
typedef __signed char int8_t;
typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned int uint32_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;

// size_t is used for memory object sizes.
typedef uint32_t size_t;

#endif /* TYPES_H */

#ifndef TYPES_H
#define TYPES_H

// Explicitly-sized versions of integer types
typedef __signed char int8_t;
typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned int uint32_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;

typedef uint8_t bool;
#define true 1;
#define false 0;

// size_t is used for memory object sizes.
typedef uint32_t size_t;

#endif /* TYPES_H */

Define bool type together with true/false


//===-- X86InstrBuilder.h - Functions to aid building x86 insts -*- C++ -*-===//
//
// This file exposes functions that may be used with BuildMI from the
// MachineInstrBuilder.h file to handle X86'isms in a clean way.
//
// The BuildMem function may be used with the BuildMI function to add entire
// memory references in a single, typed, function call.  X86 memory references
// can be very complex expressions (described in the README), so wrapping them
// up behind an easier to use interface makes sense.  Descriptions of the
// functions are included below.
//
//===----------------------------------------------------------------------===//

#ifndef X86INSTRBUILDER_H
#define X86INSTRBUILDER_H

#include "llvm/CodeGen/MachineInstrBuilder.h"

/// addDirectMem - This function is used to add a direct memory reference to the
/// current instruction.  Because memory references are always represented with
/// four values, this adds: Reg, [1, NoReg, 0] to the instruction
///
inline const MachineInstrBuilder &addDirectMem(const MachineInstrBuilder &MIB,
                                               unsigned Reg) {
  return MIB.addReg(Reg).addZImm(1).addMReg(0).addSImm(0);
}

#endif

//===-- X86InstrBuilder.h - Functions to aid building x86 insts -*- C++ -*-===//
//
// This file exposes functions that may be used with BuildMI from the
// MachineInstrBuilder.h file to handle X86'isms in a clean way.
//
// The BuildMem function may be used with the BuildMI function to add entire
// memory references in a single, typed, function call.  X86 memory references
// can be very complex expressions (described in the README), so wrapping them
// up behind an easier to use interface makes sense.  Descriptions of the
// functions are included below.
//
//===----------------------------------------------------------------------===//

#ifndef X86INSTRBUILDER_H
#define X86INSTRBUILDER_H

#include "llvm/CodeGen/MachineInstrBuilder.h"

/// addDirectMem - This function is used to add a direct memory reference to the
/// current instruction.  Because memory references are always represented with
/// four values, this adds: Reg, [1, NoReg, 0] to the instruction
///
inline const MachineInstrBuilder &addDirectMem(const MachineInstrBuilder &MIB,
                                               unsigned Reg) {
  return MIB.addReg(Reg).addZImm(1).addMReg(0).addSImm(0);
}

/// addRegOffset -
///
///
inline const MachineInstrBuilder &addRegOffset(const MachineInstrBuilder &MIB,
                                               unsigned Reg, unsigned Offset) {
  return MIB.addReg(Reg).addZImm(1).addMReg(0).addSImm(Offset);
}

#endif

Add a simple way to add memory locations of format [reg+offset]

git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@4825 91177308-0d34-0410-b5e6-96231b3b80d8


#define VAR_ENCODING_LEN	16
#define VAR_DATESTYLE_LEN	16
#define VAR_TIMEZONE_LEN	36
#define VAR_STDSTR_LEN		4

typedef struct VarCache VarCache;

struct VarCache {
	char client_encoding[VAR_ENCODING_LEN];
	char datestyle[VAR_DATESTYLE_LEN];
	char timezone[VAR_TIMEZONE_LEN];
	char std_strings[VAR_STDSTR_LEN];
};

bool varcache_set(VarCache *cache, const char *key, const char *value) /* _MUSTCHECK */;
bool varcache_apply(PgSocket *server, PgSocket *client, bool *changes_p) _MUSTCHECK;
void varcache_fill_unset(VarCache *src, PgSocket *dst);
void varcache_clean(VarCache *cache);
void varcache_add_params(PktBuf *pkt, VarCache *vars);

#define VAR_ENCODING_LEN	16
#define VAR_DATESTYLE_LEN	32
#define VAR_TIMEZONE_LEN	36
#define VAR_STDSTR_LEN		4

typedef struct VarCache VarCache;

struct VarCache {
	char client_encoding[VAR_ENCODING_LEN];
	char datestyle[VAR_DATESTYLE_LEN];
	char timezone[VAR_TIMEZONE_LEN];
	char std_strings[VAR_STDSTR_LEN];
};

bool varcache_set(VarCache *cache, const char *key, const char *value) /* _MUSTCHECK */;
bool varcache_apply(PgSocket *server, PgSocket *client, bool *changes_p) _MUSTCHECK;
void varcache_fill_unset(VarCache *src, PgSocket *dst);
void varcache_clean(VarCache *cache);
void varcache_add_params(PktBuf *pkt, VarCache *vars);

Increase room for DateStyle storage.

Increase room for DateStyle storage.

If value is larger than buffer, it stays empty and libpq will drop connection.


#include "tour.h"

#define NCITIES 5

int main() {
	tour t = create_tour(NCITIES);

	int i;
	for (i = 0; i < NCITIES; i++)
	{
		printf("%d\n", t[i]);
	}

	printf("Hello!");

    return 0;
}

#include "tour.h"

#define NCITIES 5
#define STARTPOINT 2

int main() {
	tour t = create_tour(NCITIES);
	populate_tour(t, NCITIES);
	start_point(t, STARTPOINT);
	swap_cities(t, 3, 4);

	int i;
	for (i = 0; i < NCITIES; i++)
	{
		printf("%d\n", t[i]);
	}

	printf("Hello!\n");

    return 0;
}

Test all functions from tour.h.

Test all functions from tour.h.


/*
 * @file   version.h
 *
 * @section LICENSE
 *
 * The MIT License
 *
 * @copyright Copyright (c) 2017-2020 TileDB, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#define TILEDB_VERSION_MAJOR 1
#define TILEDB_VERSION_MINOR 7
#define TILEDB_VERSION_PATCH 0

/*
 * @file   version.h
 *
 * @section LICENSE
 *
 * The MIT License
 *
 * @copyright Copyright (c) 2017-2020 TileDB, Inc.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#define TILEDB_VERSION_MAJOR 1
#define TILEDB_VERSION_MINOR 8
#define TILEDB_VERSION_PATCH 0

Update tiledb version to 1.8.0 for dev

Update tiledb version to 1.8.0 for dev


#include <joyos.h>
#include "platform.h"
#include "navigation.h"

extern volatile uint8_t robot_id;

int usetup (void) {
    robot_id = 7;

    platform_init();
    nav_init();
    return 0;
}

int umain (void) {
    printf("Hello, world!\n");

    nav_start();

    printf("Nav started, setting coords\n");
    moveToPoint(10, 0, 150);
    //turnToHeading(45);
    printf("Coords set\n");

    return 0;
}

#include <joyos.h>
#include "platform.h"
#include "navigation.h"

extern volatile uint8_t robot_id;

int usetup(void) {
    robot_id = 7;

    platform_init();
    nav_init();
    return 0;
}

int umain(void) {
    printf("Hello, world!\n");

    nav_start();

    printf("Nav started, setting coords\n");
    moveToPoint(10, 0, 150);
    printf("Coords set\n");

    //while (1) {
    //    copy_objects();
    //    moveToPoint(objects[2].x, objects[2].y, 200);
    //    waitForMovementComplete();
    //}

    return 0;
}

Add VPS target seeking code.

Add VPS target seeking code.


#ifndef GAME_H
#define GAME_H

#include <stdint.h>

#define SPACING    5

#define FONT "cairo:monospace"
#define FONT_SIZE 12
#define TILE_SIZE (FONT_SIZE * 4)

#define GRID_WIDTH   4
#define GRID_HEIGHT  4
#define GRID_SIZE    (GRID_WIDTH * GRID_HEIGHT)

#define BOARD_WIDTH  (SPACING + TILE_SIZE * GRID_WIDTH  + SPACING * (GRID_WIDTH  - 1) + SPACING)
#define BOARD_HEIGHT (SPACING + TILE_SIZE * GRID_HEIGHT + SPACING * (GRID_HEIGHT - 1) + SPACING)

#define BOARD_OFFSET_Y  SPACING + TILE_SIZE + SPACING

#define SCREEN_WIDTH   SPACING + BOARD_WIDTH + SPACING
#define SCREEN_HEIGHT  BOARD_OFFSET_Y + BOARD_HEIGHT + SPACING

extern int SCREEN_PITCH;

typedef struct
{
   int up;
   int down;
   int left;
   int right;
   int start;
} key_state_t;

void game_calculate_pitch(void);

void game_init(uint16_t *frame_buf);
void game_deinit(void);
void game_reset(void);
void game_update(float delta, key_state_t *new_ks);
void game_render(void);

#endif // GAME_H

#ifndef GAME_H
#define GAME_H

#include <stdint.h>

#define FONT "cairo:monospace"
#define FONT_SIZE 20
#define SPACING    (FONT_SIZE * 0.4)
#define TILE_SIZE (FONT_SIZE * 4)

#define GRID_WIDTH   4
#define GRID_HEIGHT  4
#define GRID_SIZE    (GRID_WIDTH * GRID_HEIGHT)

#define BOARD_WIDTH  (SPACING + TILE_SIZE * GRID_WIDTH  + SPACING * (GRID_WIDTH  - 1) + SPACING)
#define BOARD_HEIGHT (SPACING + TILE_SIZE * GRID_HEIGHT + SPACING * (GRID_HEIGHT - 1) + SPACING)

#define BOARD_OFFSET_Y  SPACING + TILE_SIZE + SPACING

#define SCREEN_WIDTH   SPACING + BOARD_WIDTH + SPACING
#define SCREEN_HEIGHT  BOARD_OFFSET_Y + BOARD_HEIGHT + SPACING

extern int SCREEN_PITCH;

typedef struct
{
   int up;
   int down;
   int left;
   int right;
   int start;
} key_state_t;

void game_calculate_pitch(void);

void game_init(uint16_t *frame_buf);
void game_deinit(void);
void game_reset(void);
void game_update(float delta, key_state_t *new_ks);
void game_render(void);

#endif // GAME_H

Make spacing depend on font size

Make spacing depend on font size


#ifndef __ASM_MIPS_CLOCK_H
#define __ASM_MIPS_CLOCK_H

#include <linux/kref.h>
#include <linux/list.h>
#include <linux/seq_file.h>
#include <linux/clk.h>

struct clk;

struct clk_ops {
	void (*init) (struct clk *clk);
	void (*enable) (struct clk *clk);
	void (*disable) (struct clk *clk);
	void (*recalc) (struct clk *clk);
	int (*set_rate) (struct clk *clk, unsigned long rate, int algo_id);
	long (*round_rate) (struct clk *clk, unsigned long rate);
};

struct clk {
	struct list_head node;
	const char *name;
	int id;
	struct module *owner;

	struct clk *parent;
	struct clk_ops *ops;

	struct kref kref;

	unsigned long rate;
	unsigned long flags;
};

#define CLK_ALWAYS_ENABLED	(1 << 0)
#define CLK_RATE_PROPAGATES	(1 << 1)

/* Should be defined by processor-specific code */
void arch_init_clk_ops(struct clk_ops **, int type);

int clk_init(void);

int __clk_enable(struct clk *);
void __clk_disable(struct clk *);

void clk_recalc_rate(struct clk *);

int clk_register(struct clk *);
void clk_unregister(struct clk *);

#endif				/* __ASM_MIPS_CLOCK_H */

#ifndef __ASM_MIPS_CLOCK_H
#define __ASM_MIPS_CLOCK_H

#include <linux/kref.h>
#include <linux/list.h>
#include <linux/seq_file.h>
#include <linux/clk.h>

struct clk;

struct clk_ops {
	void (*init) (struct clk *clk);
	void (*enable) (struct clk *clk);
	void (*disable) (struct clk *clk);
	void (*recalc) (struct clk *clk);
	int (*set_rate) (struct clk *clk, unsigned long rate, int algo_id);
	long (*round_rate) (struct clk *clk, unsigned long rate);
};

struct clk {
	struct list_head node;
	const char *name;
	int id;
	struct module *owner;

	struct clk *parent;
	struct clk_ops *ops;

	struct kref kref;

	unsigned long rate;
	unsigned long flags;
};

#define CLK_ALWAYS_ENABLED	(1 << 0)
#define CLK_RATE_PROPAGATES	(1 << 1)

int clk_init(void);

int __clk_enable(struct clk *);
void __clk_disable(struct clk *);

void clk_recalc_rate(struct clk *);

int clk_register(struct clk *);
void clk_unregister(struct clk *);

#endif				/* __ASM_MIPS_CLOCK_H */

MIPS: Remove declaration of obsolete arch_init_clk_ops()

Signed-off-by: Maarten ter Huurne <e186a7d2c4e55136cd884424bcfb439491001dc6@treewalker.org>
Cc: Apelete Seketeli <5513108e721878f07bfb2a30cd534488c7df106c@seketeli.net>
Cc: 562397917b9a8bf316569a848858b12fb417723f@linux-mips.org
Cc: 2578944098299abf708b08eff6fcf60565553586@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7671/
Signed-off-by: Ralf Baechle <92f48d309cda194c8eda36aa8f9ae28c488fa208@linux-mips.org>


// qstrs specific to this port

Q(pyb)
Q(millis)
Q(elapsed_millis)
Q(delay)
Q(LED)
Q(on)
Q(off)
Q(toggle)
Q(Switch)
Q(value)
Q(readall)
Q(readline)
Q(FileIO)

// qstrs specific to this port

Q(pyb)
Q(millis)
Q(elapsed_millis)
Q(delay)
Q(LED)
Q(on)
Q(off)
Q(toggle)
Q(Switch)
Q(value)
Q(readall)
Q(readinto)
Q(readline)
Q(readlines)
Q(FileIO)

Add readinto and readlines to qstrs.

pic16bit: Add readinto and readlines to qstrs.


/* Copyright 2022 The TensorFlow 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.
==============================================================================*/

#ifndef TENSORFLOW_LITE_IOS_TENSORFLOWLITEC_H_
#define TENSORFLOW_LITE_IOS_TENSORFLOWLITEC_H_

#include "tensorflow/lite/builtin_ops.h"
#include "tensorflow/lite/c/c_api.h"
#include "tensorflow/lite/c/c_api_experimental.h"
#include "tensorflow/lite/c/c_api_types.h"
#include "tensorflow/lite/c/common.h"
#include "tensorflow/lite/delegates/xnnpack/xnnpack_delegate.h"

#endif  // TENSORFLOW_LITE_IOS_TENSORFLOWLITEC_H_

/* Copyright 2022 The TensorFlow 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.
==============================================================================*/

#ifndef TENSORFLOW_LITE_IOS_TENSORFLOWLITEC_H_
#define TENSORFLOW_LITE_IOS_TENSORFLOWLITEC_H_

#include "tensorflow/lite/builtin_ops.h"
#include "tensorflow/lite/c/c_api.h"
#include "tensorflow/lite/c/c_api_experimental.h"
#include "tensorflow/lite/c/c_api_types.h"
#include "tensorflow/lite/c/common.h"
#include "tensorflow/lite/core/c/c_api.h"
#include "tensorflow/lite/delegates/xnnpack/xnnpack_delegate.h"

#endif  // TENSORFLOW_LITE_IOS_TENSORFLOWLITEC_H_

Fix iOS nightly release breakage.

Fix iOS nightly release breakage.

Error: c_api_experimental.h: unknown type name 'TfLiteInterpreter', 'TfLiteModel', 'TfLiteInterpreterOptions' ...
PiperOrigin-RevId: 477562262


#ifndef POLYGON_OPTIMIZER_H
#define POLYGON_OPTIMIZER_H

void optimizePolygon(ClipperLib::Polygon& poly)
{
    Point p0 = poly[poly.size()-1];
    for(unsigned int i=0;i<poly.size();i++)
    {
        Point p1 = poly[i];
        if (shorterThen(p0 - p1, 10))
        {
            poly.erase(poly.begin() + i);
            i --;
        }else{
            p0 = p1;
        }
    }
}

void optimizePolygons(Polygons& polys)
{
    for(unsigned int n=0;n<polys.size();n++)
    {
        optimizePolygon(polys[n]);
    }
}

#endif//POLYGON_OPTIMIZER_H

#ifndef POLYGON_OPTIMIZER_H
#define POLYGON_OPTIMIZER_H

void optimizePolygon(ClipperLib::Polygon& poly)
{
    Point p0 = poly[poly.size()-1];
    for(unsigned int i=0;i<poly.size();i++)
    {
        Point p1 = poly[i];
        if (shorterThen(p0 - p1, 10))
        {
            poly.erase(poly.begin() + i);
            i --;
        }else{
            p0 = p1;
        }
    }
}

void optimizePolygons(Polygons& polys)
{
    for(unsigned int n=0;n<polys.size();n++)
    {
        optimizePolygon(polys[n]);
        if (polys[n].size() < 3)
        {
            polys.erase(polys.begin() + n);
            n--;
        }
    }
}

#endif//POLYGON_OPTIMIZER_H

Remove empty polygons after optimizing.

Remove empty polygons after optimizing.


#ifndef ATOMIC_H
#define ATOMIC_H

#include "fibrili.h"

#define atomic_fence() fibrili_fence()
#define atomic_lock(lock) fibrili_lock(lock)
#define atomic_unlock(lock) fibrili_unlock(lock)

#endif /* end of include guard: ATOMIC_H */

#ifndef ATOMIC_H
#define ATOMIC_H

#include "fibrili.h"

#define atomic_fence() fibrili_fence()
#define atomic_lock(lock) fibrili_lock(lock)
#define atomic_unlock(lock) fibrili_unlock(lock)
#define atomic_load(val) __atomic_load_n(&(val), __ATOMIC_ACQUIRE)
#define atomic_fadd(val, n) __atomic_fetch_add(&(val), n, __ATOMIC_ACQ_REL)

static inline void atomic_barrier(int nprocs)
{
  static volatile int _count;
  static volatile int _sense;
  static volatile __thread int _local_sense;

  int sense = !_local_sense;

  if (atomic_fadd(_count, 1) == nprocs - 1) {
    _count = 0;
    _sense = sense;
  }

  while (_sense != sense);
  _local_sense = sense;
  atomic_fence();
}

#endif /* end of include guard: ATOMIC_H */

Add barrier, fadd, and load.

Add barrier, fadd, and load.


#import <CoreData/CoreData.h>
#import <FactoryGentleman/FactoryGentleman.h>

#import "CFGFactoryDefiner.h"
#import "CFGObjectBuilder.h"

#import <CoreData/CoreData.h>
#import <FactoryGentleman/FactoryGentleman.h>

#import "CFGCoreFactoryGentleman.h"
#import "CFGFactoryDefiner.h"
#import "CFGObjectBuilder.h"

Add functionality to bootstrap header

Add functionality to bootstrap header


/* taken from linux/include/asm-or32/posix_types.h */

/*
 * Using the same guard as posix_types.h from linux headers
 * enssures the uclibc (this) version is beeing used.
 */
#if ! defined _OR32_POSIX_TYPES_H
#define _OR32_POSIX_TYPES_H

/*
 * This file is generally used by user-level software, so you need to
 * be a little careful about namespace pollution etc.  Also, we cannot
 * assume GCC is being used.
 */

typedef unsigned int	__kernel_ino_t;
typedef unsigned int	__kernel_mode_t;
typedef unsigned short	__kernel_nlink_t;
typedef long		__kernel_off_t;
typedef int		__kernel_pid_t;
typedef unsigned int	__kernel_uid_t;
typedef unsigned int	__kernel_gid_t;
typedef unsigned int	__kernel_size_t;
typedef int		__kernel_ssize_t;
typedef long		__kernel_ptrdiff_t;
typedef long		__kernel_time_t;
typedef long		__kernel_suseconds_t;
typedef long		__kernel_clock_t;
typedef int		__kernel_daddr_t;
typedef char *		__kernel_caddr_t;
typedef short           __kernel_ipc_pid_t;
typedef unsigned short	__kernel_uid16_t;
typedef unsigned short	__kernel_gid16_t;
typedef unsigned int	__kernel_uid32_t;
typedef unsigned int	__kernel_gid32_t;

typedef unsigned int	__kernel_old_uid_t;
typedef unsigned int	__kernel_old_gid_t;
typedef unsigned int	__kernel_old_dev_t;

/* this is workaround for uclibc */
typedef unsigned int	__kernel_dev_t;

#ifdef __GNUC__

typedef long long	__kernel_loff_t;

#endif

typedef struct {
	int	val[2];
} __kernel_fsid_t;

#endif /* _OR32_POSIX_TYPES_H */

Use generic posix_types from Linux kernel

The kernel headers asm/posix_types.h and asm-generic/posix_types.h are
made to be included directly into libc, and doing so saves us the effort
of having to keep these files in sync.


// Copyright 2013 Google Inc. 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.
//
// Helper function for bit twiddling

#ifndef WOFF2_PORT_H_
#define WOFF2_PORT_H_

namespace woff2 {

typedef unsigned int       uint32;

inline int Log2Floor(uint32 n) {
#if defined(__GNUC__)
  return n == 0 ? -1 : 31 ^ __builtin_clz(n);
#else
  if (n == 0)
    return -1;
  int log = 0;
  uint32 value = n;
  for (int i = 4; i >= 0; --i) {
    int shift = (1 << i);
    uint32 x = value >> shift;
    if (x != 0) {
      value = x;
      log += shift;
    }
  }
  assert(value == 1);
  return log;
#endif
}

} // namespace woff2
#endif  // WOFF2_PORT_H_

// Copyright 2013 Google Inc. 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.
//
// Helper function for bit twiddling

#ifndef WOFF2_PORT_H_
#define WOFF2_PORT_H_

#include <assert.h>

namespace woff2 {

typedef unsigned int       uint32;

inline int Log2Floor(uint32 n) {
#if defined(__GNUC__)
  return n == 0 ? -1 : 31 ^ __builtin_clz(n);
#else
  if (n == 0)
    return -1;
  int log = 0;
  uint32 value = n;
  for (int i = 4; i >= 0; --i) {
    int shift = (1 << i);
    uint32 x = value >> shift;
    if (x != 0) {
      value = x;
      log += shift;
    }
  }
  assert(value == 1);
  return log;
#endif
}

} // namespace woff2
#endif  // WOFF2_PORT_H_

Include assert.h explicitly to fix windows build

Fixes the error: C3861: 'assert': identifier not found


// This is the last-resort version of this file.  It will be used only
// if the comm layer implementation does not supply one.

#ifndef _chpl_comm_task_decls_h
#define _chpl_comm_task_decls_h

// Define the type of a n.b. communications handle.
typedef void* chpl_comm_nb_handle_t;

typedef struct {
} chpl_comm_taskPrvData_t;

#undef HAS_CHPL_CACHE_FNS

#endif

// This is the last-resort version of this file.  It will be used only
// if the comm layer implementation does not supply one.

#ifndef _chpl_comm_task_decls_h
#define _chpl_comm_task_decls_h

// Define the type of a n.b. communications handle.
typedef void* chpl_comm_nb_handle_t;

typedef struct {
  int dummy;    // structs must be nonempty
} chpl_comm_taskPrvData_t;

#undef HAS_CHPL_CACHE_FNS

#endif

Make an empty struct nonempty.

Make an empty struct nonempty.

In r23405 we added a component of the task private data to hold comm
layer information.  This is chpl_comm_taskPrvData_t, a struct typt.  For
comm=none we don't need any comm layer info, so we made the struct type
empty.  Unfortunately empty struct types aren't legal C (c99 standard,
6.2.5 (20)).  The gcc compiler lets this pass, but the PGI and Cray
compilers bark at it.  To fix this, add a dummy element to the struct
for the comm=none case.  (I tried making it a 0-length array, but the
PGI compiler barked at that, too.)

git-svn-id: 88467cb1fb04b8a755be7e1ee1026be4190196ef@23411 3a8e244f-b0f2-452b-bcba-4c88e055c3ca


#pragma once

#include <string>

namespace smurff {

struct StatusItem
{
    std::string phase;
    int iter;
    int phase_iter;

    std::vector<double> model_norms;

    double rmse_avg;
    double rmse_1sample;
    double train_rmse;

    double auc_1sample;
    double auc_avg;

    double elapsed_iter;
    double nnz_per_sec;
    double samples_per_sec;

    // to csv
    static std::string getCsvHeader();
    std::string asCsvString() const;
};
}

Allow printing of status after step

Allow printing of status after step


#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include "iobuf.h"

unsigned iobuf_bufsize = 8192;

int iobuf_init(iobuf* io, int fd, unsigned bufsize, char* buffer, unsigned flags)
{
  memset(io, 0, sizeof *io);
  if (!bufsize) bufsize = iobuf_bufsize;
  if (!buffer) {
    if ((buffer = mmap(0, bufsize, PROT_READ|PROT_WRITE,
		       MAP_PRIVATE|MAP_ANONYMOUS, 0, 0)) != 0)
      flags |= IOBUF_NEEDSMUNMAP;
    else {
      if ((buffer = malloc(bufsize)) == 0) return 0;
      flags |= IOBUF_NEEDSFREE;
    }
  }
  io->fd = fd;
  io->buffer = buffer;
  io->bufsize = bufsize;
  io->flags = flags;
  return 1;
}

#include <sys/types.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include "iobuf.h"

unsigned iobuf_bufsize = 8192;

#ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON
#endif

int iobuf_init(iobuf* io, int fd, unsigned bufsize, char* buffer, unsigned flags)
{
  memset(io, 0, sizeof *io);
  if (!bufsize) bufsize = iobuf_bufsize;
  if (!buffer) {
    if ((buffer = mmap(0, bufsize, PROT_READ|PROT_WRITE,
		       MAP_PRIVATE|MAP_ANONYMOUS, 0, 0)) != 0)
      flags |= IOBUF_NEEDSMUNMAP;
    else {
      if ((buffer = malloc(bufsize)) == 0) return 0;
      flags |= IOBUF_NEEDSFREE;
    }
  }
  io->fd = fd;
  io->buffer = buffer;
  io->bufsize = bufsize;
  io->flags = flags;
  return 1;
}

Use MAP_ANON if MAP_ANONYMOUS is not defined.


/* Use a crystal if one is installed.  Much more accurate timing
 * results. */
#define BSP430_PLATFORM_BOOT_CONFIGURE_LFXT1 1

/* Application does output: support spin-for-jumper */
#ifndef configBSP430_PLATFORM_SPIN_FOR_JUMPER
#define configBSP430_PLATFORM_SPIN_FOR_JUMPER 1
#endif /* configBSP430_PLATFORM_SPIN_FOR_JUMPER */

#define configBSP430_CONSOLE 1
#define configBSP430_UPTIME 1

/* Specify placement on P1.7  */
#define APP_DS18B20_PORT_HAL BSP430_HAL_PORT1
#define APP_DS18B20_BIT BIT7

/* Request the corresponding HAL */
#define configBSP430_HAL_PORT1 1

/* Get platform defaults */
#include <bsp430/platform/bsp430_config.h>

/* Use a crystal if one is installed.  Much more accurate timing
 * results. */
#define BSP430_PLATFORM_BOOT_CONFIGURE_LFXT1 1

/* Application does output: support spin-for-jumper */
#ifndef configBSP430_PLATFORM_SPIN_FOR_JUMPER
#define configBSP430_PLATFORM_SPIN_FOR_JUMPER 1
#endif /* configBSP430_PLATFORM_SPIN_FOR_JUMPER */

#define configBSP430_CONSOLE 1
#define configBSP430_UPTIME 1

#if BSP430_PLATFORM_SURF - 0
/* SuRF has a DS1825 on P3.7, but the software is the same */
#define APP_DS18B20_PORT_HAL BSP430_HAL_PORT3
#define APP_DS18B20_BIT BIT7
#define configBSP430_HAL_PORT3 1
#else /* BSP430_PLATFORM_SURF */
/* External hookup DS18B20 to on P1.7  */
#define APP_DS18B20_PORT_HAL BSP430_HAL_PORT1
#define APP_DS18B20_BIT BIT7

/* Request the corresponding HAL */
#define configBSP430_HAL_PORT1 1
#endif /* BSP430_PLATFORM_SURF */

/* Get platform defaults */
#include <bsp430/platform/bsp430_config.h>

Support SuRF on-board DS1825 in ds18b20 demo


#ifndef NRF51_HAL_CONF_H__
#define NRF51_HAL_CONF_H__

#define HAL_UART_MODULE_ENABLED
#define HAL_SPI_MODULE_ENABLED
#define HAL_TIME_MODULE_ENABLED

#endif // NRF51_HAL_CONF_H__

#ifndef NRF51_HAL_CONF_H__
#define NRF51_HAL_CONF_H__

#define HAL_UART_MODULE_ENABLED
// #define HAL_SPI_MODULE_ENABLED
#define HAL_TIME_MODULE_ENABLED

#endif // NRF51_HAL_CONF_H__

Disable SPI hal from pca10001 board.

nrf5/boards: Disable SPI hal from pca10001 board.


/*
* This file is part of the beirdobot package
* Copyright (C) 2012 Raymond Wagner
*
* This plugin uses code gratuitously stolen from the 'fart' plugin.
* See that for any real licensing information.
*/

/*HEADER---------------------------------------------------
* $Id$
*
* Copyright 2012 Raymond Wagner
* All rights reserved
*/

/* INCLUDE FILES */
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "botnet.h"
#include "environment.h"
#include "structs.h"
#include "protos.h"
#include "logging.h"

/* INTERNAL FUNCTION PROTOTYPES */
void regexpFuncTrac( IRCServer_t *server, IRCChannel_t *channel, char *who,
                     char *msg, IRCMsgType_t type, int *ovector, int ovecsize,
                     void *tag );

/* CVS generated ID string */
static char ident[] _UNUSED_ =
    "$Id$";

static char *contentRegexp = "(?i)(?:\\B|\\s|^)#(\\d+)(?:\\s|\\.|,|$)";

void plugin_initialize( char *args )
{
    LogPrintNoArg( LOG_NOTICE, "Initializing trac redirect..." );
    regexp_add( NULL, (const char *)contentRegexp, regexpFuncTrac, NULL );
}

void plugin_shutdown( void )
{
    LogPrintNoArg( LOG_NOTICE, "Removing trac redirect..." );
    regexp_remove( NULL, contentRegexp );
}

void regexpFuncTrac( IRCServer_t *server, IRCChannel_t *channel, char *who,
                     char *msg, IRCMsgType_t type, int *ovector, int ovecsize,
                     void *tag )
{
    char *message, *ticketid;

    if( !channel ) {
        return;
    }

    ticketid = regexp_substring( msg, ovector, ovecsize, 1 );
    if (ticketid)
    {
        message = (char *)malloc(35+strlen(ticketid)+2);
        sprintf( message, "http://code.mythtv.org/trac/ticket/%s", ticketid );
        LoggedActionMessage( server, channel, message );
        free(ticketid);
        free(message);
    }
}

/*
* vim:ts=4:sw=4:ai:et:si:sts=4
*/

Add a new trac redirect plugin

Add a new trac redirect plugin

At this time, it is specific to mythtv use, but it can easily be extended to
use different urls per channel.  Minor changes were made to make it function
properly.

Thank you, Raymond.


/*
 * Copyright (C) Sometrik oy 2015
 *
 */

#include <FWContextBase.h>
#include <AndroidPlatform.h>

class Example1 : public FWContextBase {
public:
	Example1(AndroidPlatform * _platform) : FWContextBase(_platform), platform(_platform) { }

  bool Init();
  void onDraw();
  void onShutdown();

 private:
  AndroidPlatform * platform;
};

/*
 * Copyright (C) Sometrik oy 2015
 *
 */

#include <FWContextBase.h>
#include <FWPlatformBase.h>

class Example1 : public FWContextBase {
public:
	Example1(FWPlatformBase * _platform) : FWContextBase(_platform), platform(_platform) { }

  bool Init();
  void onDraw();
  void onShutdown();

 private:
  FWPlatformBase * platform;
};

Change AndroidPlatform variables to FWPlatformBase, switch include


#include <errno.h>
#include <asm/ptrace.h>
#include <sys/syscall.h>

int
ptrace(int request, int pid, int addr, int data)
{
	long ret;
	long res;
	if (request > 0 && request < 4) (long *)data = &ret;

	__asm__ volatile ("movel %1,%/d0\n\t"
			  "movel %2,%/d1\n\t"
			  "movel %3,%/d2\n\t"
			  "movel %4,%/d3\n\t"
			  "movel %5,%/d4\n\t"
			  "trap  #0\n\t"
			  "movel %/d0,%0"
		:"=g" (res)
		:"i" (__NR_ptrace), "g" (request), "g" (pid),
		 "g" (addr), "g" (data) : "%d0", "%d1", "%d2", "%d3", "%d4");

	if (res >= 0) {
		if (request > 0 && request < 4) {
			__set_errno(0);
			return (ret);
		}
		return (int) res;
	}
	__set_errno(-res);
	return -1;
}

#include <errno.h>
#include <asm/ptrace.h>
#include <sys/syscall.h>

int
ptrace(int request, int pid, int addr, int data)
{
	long ret;
	long res;
	if (request > 0 && request < 4) data = (int)&ret;

	__asm__ volatile ("movel %1,%/d0\n\t"
			  "movel %2,%/d1\n\t"
			  "movel %3,%/d2\n\t"
			  "movel %4,%/d3\n\t"
			  "movel %5,%/d4\n\t"
			  "trap  #0\n\t"
			  "movel %/d0,%0"
		:"=g" (res)
		:"i" (__NR_ptrace), "g" (request), "g" (pid),
		 "g" (addr), "g" (data) : "%d0", "%d1", "%d2", "%d3", "%d4");

	if (res >= 0) {
		if (request > 0 && request < 4) {
			__set_errno(0);
			return (ret);
		}
		return (int) res;
	}
	__set_errno(-res);
	return -1;
}

Patch from Bernardo Innocenti: Remove use of cast-as-l-value extension, removed in GCC 3.5.


#include "topviewsettings.h"
#include "gui.h"

void on_settingsOKBtn_clicked (GtkWidget *widget,gpointer user_data)
{

}
void on_settingsCancelBtn_clicked (GtkWidget *widget,gpointer user_data)
{

}
int load_settings_from_graph(Agraph_t *g)
{

	return 1;
}
int update_graph_from_settings(Agraph_t *g)
{

	return 1;
}

int show_settings_form()
{
		gtk_widget_hide(glade_xml_get_widget(xml, "dlgSettings"));
		gtk_widget_show(glade_xml_get_widget(xml, "dlgSettings"));
		gtk_window_set_keep_above           ((GtkWindow*)glade_xml_get_widget(xml, "dlgSettings"),1);
}

/* vim:set shiftwidth=4 ts=8: */

/**********************************************************
*      This software is part of the graphviz package      *
*                http://www.graphviz.org/                 *
*                                                         *
*            Copyright (c) 1994-2004 AT&T Corp.           *
*                and is licensed under the                *
*            Common Public License, Version 1.0           *
*                      by AT&T Corp.                      *
*                                                         *
*        Information and Software Systems Research        *
*              AT&T Research, Florham Park NJ             *
**********************************************************/

#include "topviewsettings.h"
#include "gui.h"

void on_settingsOKBtn_clicked(GtkWidget * widget, gpointer user_data)
{

}

void on_settingsCancelBtn_clicked(GtkWidget * widget, gpointer user_data)
{

}
int load_settings_from_graph(Agraph_t * g)
{

    return 1;
}

int update_graph_from_settings(Agraph_t * g)
{

    return 1;
}

int show_settings_form()
{
    gtk_widget_hide(glade_xml_get_widget(xml, "dlgSettings"));
    gtk_widget_show(glade_xml_get_widget(xml, "dlgSettings"));
    gtk_window_set_keep_above((GtkWindow *)
			      glade_xml_get_widget(xml, "dlgSettings"), 1);
}

Clean up smyrna files: remove unnecessary globals modify libraries not to rely on code in cmd/smyrna remove static declarations from .h files remove unnecessary libraries mark unused code and clean up warnings


#ifndef __SETTINGS_H_
#define __SETTINGS_H_
#include <Arduino.h>
#include "Device.h"

// This section is for devices and their configuration
//Kit:
#define HAS_STD_LIGHTS (1)
#define LIGHTS_PIN 5
#define HAS_STD_CAPE (1)
#define HAS_STD_2X1_THRUSTERS (1)
#define HAS_STD_PILOT (1)
#define HAS_STD_CAMERAMOUNT (1)
#define CAMERAMOUNT_PIN 3
#define CAPE_VOLTAGE_PIN 0
#define CAPE_CURRENT_PIN 3

//After Market:
#define HAS_STD_CALIBRATIONLASERS (0)
#define CALIBRATIONLASERS_PIN 6
#define HAS_POLOLU_MINIMUV (1)
#define HAS_MS5803_14BA (0)
#define MS5803_14BA_I2C_ADDRESS 0x76

#define MIDPOINT 1500
#define LOGGING (1)

class Settings : public Device {
  public:
    static int smoothingIncriment; //How aggressive the throttle changes
    static int deadZone_min;
    static int deadZone_max;
    static int capability_bitarray;

    Settings():Device(){};
    void device_setup();
    void device_loop(Command cmd);
};

#endif

#ifndef __SETTINGS_H_
#define __SETTINGS_H_
#include <Arduino.h>
#include "Device.h"

// This section is for devices and their configuration
//Kit:
#define HAS_STD_LIGHTS (1)
#define LIGHTS_PIN 5
#define HAS_STD_CAPE (1)
#define HAS_STD_2X1_THRUSTERS (1)
#define HAS_STD_PILOT (1)
#define HAS_STD_CAMERAMOUNT (1)
#define CAMERAMOUNT_PIN 3
#define CAPE_VOLTAGE_PIN 0
#define CAPE_CURRENT_PIN 3

//After Market:
#define HAS_STD_CALIBRATIONLASERS (0)
#define CALIBRATIONLASERS_PIN 6
#define HAS_POLOLU_MINIMUV (0)
#define HAS_MS5803_14BA (0)
#define MS5803_14BA_I2C_ADDRESS 0x76

#define MIDPOINT 1500
#define LOGGING (1)

class Settings : public Device {
  public:
    static int smoothingIncriment; //How aggressive the throttle changes
    static int deadZone_min;
    static int deadZone_max;
    static int capability_bitarray;

    Settings():Device(){};
    void device_setup();
    void device_loop(Command cmd);
};

#endif

Reset default settings to stock kit configuration


#include <string.h>
#include "window.h"
#include "grid.h"
#include "utils.h"

extern window_settings_t win_set;

void print_grid(WINDOW *win)
{
    getmaxyx(win, win_set.maxGridHeight, win_set.maxGridWidth);

    // If the grid is larger than the maximum height
    // or width, then set it to max height or width
    if (g.y_grid > win_set.maxGridHeight)
        g.y_grid = win_set.maxGridHeight;

    if (g.x_grid > win_set.maxGridWidth)
        g.x_grid = win_set.maxGridWidth;

    int32_t y_grid_step = win_set.maxGridHeight / g.y_grid;
    int32_t x_grid_step = win_set.maxGridWidth / g.x_grid;

    int32_t y_max_height = y_grid_step * g.y_grid;
    int32_t x_max_height = x_grid_step * g.x_grid;

    for(int32_t y=0;y<=y_max_height;y+=y_grid_step)
        for(int32_t x=0;x<=x_max_height;x+=x_grid_step)
            color_str(win, y, x, 0, 0, "O");

    wnoutrefresh(win);
}

#include <string.h>
#include "window.h"
#include "grid.h"
#include "utils.h"

extern window_settings_t win_set;

void print_grid(WINDOW *win)
{
    getmaxyx(win, win_set.maxGridHeight, win_set.maxGridWidth);

    // If the grid is larger than the maximum height
    // or width, then set it to max height or width
    if (g.y_grid > win_set.maxGridHeight)
        g.y_grid = win_set.maxGridHeight;

    if (g.x_grid > win_set.maxGridWidth)
        g.x_grid = win_set.maxGridWidth;

    int32_t y_grid_step = win_set.maxGridHeight / g.y_grid;
    int32_t x_grid_step = win_set.maxGridWidth / g.x_grid;

    int32_t y_max_height = y_grid_step * g.y_grid;
    int32_t x_max_height = x_grid_step * g.x_grid;

    for(int32_t y=0;y<=y_max_height;y+=y_grid_step)
        for(int32_t x=0;x<=x_max_height;x+=x_grid_step)
            color_str(win, y, x, 0, 0, "+");

    wnoutrefresh(win);
}

Change print symbol from O to +.

Change print symbol from O to +.


/*
 *
 *  OBEX Server
 *
 *  Copyright (C) 2010-2011  Nokia Corporation
 *
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <errno.h>

#include "messages.h"

int messages_init(void)
{
	return 0;
}

void messages_exit(void)
{
}

int messages_connect(void **s)
{
	*s = NULL;

	return 0;
}

void messages_disconnect(void *s)
{
}

int messages_set_notification_registration(void *session,
		void (*send_event)(void *session,
			struct messages_event *event, void *user_data),
		void *user_data)
{
	return -EINVAL;
}

int messages_set_folder(void *s, const char *name, gboolean cdup)
{
	return -EINVAL;
}

int messages_get_folder_listing(void *session,
		const char *name,
		uint16_t max, uint16_t offset,
		void (*callback)(void *session, int err, uint16_t size,
			const char *name, void *user_data),
		void *user_data)
{
	return -EINVAL;
}

int messages_get_messages_listing(void *session,
		const char *name,
		uint16_t max, uint16_t offset, struct messages_filter *filter,
		void (*callback)(void *session, int err, uint16_t size,
			gboolean newmsg, const struct messages_message *message,
			void *user_data),
		void *user_data)
{
	return -EINVAL;
}

int messages_get_message(void *session,
		const char *handle,
		unsigned long flags,
		void (*callback)(void *session, int err, gboolean fmore,
			const char *chunk, void *user_data),
		void *user_data)
{
	return -EINVAL;
}

void messages_abort(void *session)
{
}

Add tracker backend stump for MAP

obexd: Add tracker backend stump for MAP


#include "euler_util.h"

#include <string.h>

#define MAX 7

int main(int argc, char *argv[])
{
    float start = timeit();

    char *forward = calloc(sizeof(char), sizeof(char) * MAX);
    char *backward = calloc(sizeof(char), sizeof(char) * MAX);

    size_t int_len;

    int high = 0;

    for (int x=100; x < 1000; x++) {
        for (int y=100; y < 1000; y++) {

            int_len = snprintf(forward, MAX, "%d", x * y);

            for (int i=0, str_len=int_len-1; i < int_len; i++, str_len--)
                backward[i] = forward[str_len];

            if (strcmp(forward, backward) == 0 && atoi(backward) > high)
                high = atoi(backward);
        }
    }

    free(forward);
    free(backward);

    float stop = timeit();

    printf("Answer: %d\n", high);
    printf("Time: %.8f\n", stop - start);

    return 0;
}

#include "euler_util.h"

#include <string.h>

#define MAX 7

int main(int argc, char *argv[])
{
    float start = timeit();
    char product[MAX] = { '\0' };
    int high = 0;

    for (int x=100; x < 1000; x++) {
        for (int y=x; y < 1000; y++) {

            int canidate = x * y;
            size_t int_len = snprintf(product, MAX, "%d", canidate);
            int head = 0, tail = int_len - 1;
            for (;head < tail && product[head] == product[tail]; head++, tail--)
                ;
            if (head > tail && canidate > high)
                high = canidate;
        }
    }

    float stop = timeit();

    printf("Answer: %d\n", high);
    printf("Time: %.8f\n", stop - start);

    return 0;
}

Improve loop (avg. from ~0.15 to ~0.07)

Improve loop (avg. from ~0.15 to ~0.07)


#ifndef	TIMEOUT_QUEUE_H
#define	TIMEOUT_QUEUE_H

#include <map>

class TimeoutQueue {
	typedef std::map<NanoTime, CallbackQueue> timeout_map_t;

	LogHandle log_;
	timeout_map_t timeout_queue_;
public:
	TimeoutQueue(void)
	: log_("/event/timeout/queue"),
	  timeout_queue_()
	{ }

	~TimeoutQueue()
	{ }

	bool empty(void) const
	{
		timeout_map_t::const_iterator it;

		/*
		 * Since we allow elements within each CallbackQueue to be
		 * cancelled, we must scan them.
		 *
		 * XXX
		 * We really shouldn't allow this, even if it means we have
		 * to specialize CallbackQueue for this purpose or add
		 * virtual methods to it.  As it is, we can return true
		 * for empty and for ready at the same time.  And in those
		 * cases we have to call perform to garbage collect the
		 * unused CallbackQueues.  We'll, quite conveniently,
		 * never make that call.  Yikes.
		 */
		for (it = timeout_queue_.begin(); it != timeout_queue_.end(); ++it) {
			if (it->second.empty())
				continue;
			return (false);
		}
		return (true);
	}

	Action *append(uintmax_t, SimpleCallback *);
	uintmax_t interval(void) const;
	void perform(void);
	bool ready(void) const;
};

#endif /* !TIMEOUT_QUEUE_H */

#ifndef	TIMEOUT_QUEUE_H
#define	TIMEOUT_QUEUE_H

#include <map>

#include <common/time/time.h>

class TimeoutQueue {
	typedef std::map<NanoTime, CallbackQueue> timeout_map_t;

	LogHandle log_;
	timeout_map_t timeout_queue_;
public:
	TimeoutQueue(void)
	: log_("/event/timeout/queue"),
	  timeout_queue_()
	{ }

	~TimeoutQueue()
	{ }

	bool empty(void) const
	{
		timeout_map_t::const_iterator it;

		/*
		 * Since we allow elements within each CallbackQueue to be
		 * cancelled, we must scan them.
		 *
		 * XXX
		 * We really shouldn't allow this, even if it means we have
		 * to specialize CallbackQueue for this purpose or add
		 * virtual methods to it.  As it is, we can return true
		 * for empty and for ready at the same time.  And in those
		 * cases we have to call perform to garbage collect the
		 * unused CallbackQueues.  We'll, quite conveniently,
		 * never make that call.  Yikes.
		 */
		for (it = timeout_queue_.begin(); it != timeout_queue_.end(); ++it) {
			if (it->second.empty())
				continue;
			return (false);
		}
		return (true);
	}

	Action *append(uintmax_t, SimpleCallback *);
	uintmax_t interval(void) const;
	void perform(void);
	bool ready(void) const;
};

#endif /* !TIMEOUT_QUEUE_H */

Use new NanoTime location header, oops.

Use new NanoTime location header, oops.


#ifndef READLINE_FALLBACK_H
#define READLINE_FALLBACK_H

#include <stdio.h>
#include <string.h>

char* readline(const char * prompt) {
    char *result = malloc(1);
    size_t n = 0;
    printf("%s", prompt);
    getline(&result, &n, stdin);
    result[strlen(result)-1] = 0;
    return result;
}

#endif /* READLINE_FALLBACK_H */

#ifndef READLINE_FALLBACK_H
#define READLINE_FALLBACK_H

#include <stdio.h>
#include <string.h>

char* readline(const char * prompt) {
    char *result = malloc(1024);
    printf("%s", prompt);
    fgets(result, 1023, stdin);
    result[strlen(result)-1] = 0;
    return result;
}

#endif /* READLINE_FALLBACK_H */

Use fgets(3) instead of getline(3) because whilst getline(3) is POSIX, it is not in the C89 or later standards


#include "fmt.h"

size_t fmt_escapecharxml(char* dest,uint32_t ch) {
  char a[FMT_LONG], b[FMT_XLONG];
  const char* s;
  size_t i,j;
  switch (ch) {
  case '&': s="&"; goto string;
  case '<': s="<"; goto string;
  case '>': s=">"; goto string;
  case '\'': s="'"; goto string;
  case '"': s="""; goto string;
  default:
    a[i=fmt_ulong(a,ch)]=0;
    b[0]='x';
    b[j=fmt_xlong(b+1,ch)+1]=0;
    s=a;
    if (i>j) { s=b; i=j; }
    if (dest) {
      dest[0]='&';
      dest[1]='#';
      byte_copy(dest+2,i,s);
      dest[i+2]=';';
    }
    return i+3;
  }
string:
  return fmt_str(dest,s);
}

#ifdef __GNUC__
size_t fmt_escapecharhtml(char* dest,uint32_t ch) __attribute__((__alias__("fmt_escapecharxml")));
#endif

#include "fmt.h"

size_t fmt_escapecharxml(char* dest,uint32_t ch) {
  char a[FMT_LONG], b[FMT_XLONG];
  const char* s;
  size_t i,j;
  switch (ch) {
  case '&': s="&"; goto string;
  case '<': s="<"; goto string;
  case '>': s=">"; goto string;
  case '\'': s="'"; goto string;
  case '"': s="""; goto string;
  default:
    a[i=fmt_ulong(a,ch)]=0;
    b[0]='x';
    b[j=fmt_xlong(b+1,ch)+1]=0;
    s=a;
    if (i>j) { s=b; i=j; }
    if (dest) {
      dest[0]='&';
      dest[1]='#';
      byte_copy(dest+2,i,s);
      dest[i+2]=';';
    }
    return i+3;
  }
string:
  return fmt_str(dest,s);
}

#if defined(__GNUC__) && !defined(__llvm__)
size_t fmt_escapecharhtml(char* dest,uint32_t ch) __attribute__((__alias__("fmt_escapecharxml")));
#endif

fmt: Choose only gcc to execute a specific portion of code

The specific portion of the code needs to be executed by a gcc
compiler, for that reason is used the __GNUC__ macro. It appears,
that the LLVM compiler, which uses the __llvm__ macro, uses as well
the __GNUC__ macro (possible for compatibility???).

This change check if the __llvm__ is check as well, and if it is
the code is not executed.

Issue: https://github.com/svagionitis/cross-platform-code/issues/1


// This file is part of SWGANH which is released under the MIT license.
// See file LICENSE or go to http://swganh.com/LICENSE
#pragma once

#include <memory>

namespace boost {
    template<class T> const T* get_pointer(const std::shared_ptr<T>& ptr)
    {
        return ptr.get();
    }

    template<class T> T* get_pointer(std::shared_ptr<T>& ptr)
    {
        return ptr.get();
    }

    template<class T> const T* get_pointer(const std::unique_ptr<T>& ptr)
    {
        return ptr.get();
    }

    template<class T> T* get_pointer(std::unique_ptr<T>& ptr)
    {
        return ptr.get();
    }
}

//#include <boost/python.hpp>
//namespace boost{ namespace python{
//    template <class T>
//    struct pointee< std::shared_ptr<T> >
//    {
//        typedef T type;
//    };
//
//}}

// This file is part of SWGANH which is released under the MIT license.
// See file LICENSE or go to http://swganh.com/LICENSE
#pragma once

#include <memory>

//namespace boost {
//    template<class T> const T* get_pointer(const std::shared_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//
//    template<class T> T* get_pointer(std::shared_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//
//    template<class T> const T* get_pointer(const std::unique_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//
//    template<class T> T* get_pointer(std::unique_ptr<T>& ptr)
//    {
//        return ptr.get();
//    }
//}

//#include <boost/python.hpp>
//namespace boost{ namespace python{
//    template <class T>
//    struct pointee< std::shared_ptr<T> >
//    {
//        typedef T type;
//    };
//
//}}

Boost now supports std::unique_ptr/std::shared_ptr for python


#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>

struct termios orig_termios;

void disable_raw_mode() {
	tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig_termios);
}

void enable_raw_mode() {
	tcgetattr(STDIN_FILENO, &orig_termios);
	atexit(disable_raw_mode);

	struct termios raw = orig_termios;
	raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
	raw.c_oflag &= ~(OPOST);
	raw.c_cflag &= ~(CS8);
	raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);

	tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw);
}

int main() {
	enable_raw_mode();

	char c;
	while (read(STDIN_FILENO, &c, 1) == 1 && c != 'q') {
		if (iscntrl(c)) {
			printf("%d\r\n", c);
		} else {
			printf("%d ('%c')\r\n", c, c);
		}
	}
	return 0;
}

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>

struct termios orig_termios;

void disable_raw_mode() {
	tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig_termios);
}

void enable_raw_mode() {
	tcgetattr(STDIN_FILENO, &orig_termios);
	atexit(disable_raw_mode);

	struct termios raw = orig_termios;
	raw.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
	raw.c_oflag &= ~(OPOST);
	raw.c_cflag &= ~(CS8);
	raw.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
	raw.c_cc[VMIN] = 0;
	raw.c_cc[VTIME] = 1;

	tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw);
}

int main() {
	enable_raw_mode();

	while (1) {
		char c = '\0';
		read(STDIN_FILENO, &c, 1);
		if (iscntrl(c)) {
			printf("%d\r\n", c);
		} else {
			printf("%d ('%c')\r\n", c, c);
		}
		if (c == 'q') {
			break;
		}
	}
	return 0;
}

Add a timeout for read()

Add a timeout for read()

Set VMIN to 0 so read() returns as soon as there is any input to be
read.
Set VTIME to 1 so the wait time of read() is 100 milliseconds.


/* The contents of this file is in the public domain. */
#include <ipify.h>
#include <string.h>
#include <sys/socket.h>

int main(int argc, char *argv[])
{
	int family = AF_UNSPEC;
	char addr[256];
	int i, sd;

	for (i = 1; i < argc; i++) {
		if (!strcmp(argv[i], "-h")) {
			printf("ipify [-46h]\n");
			return 0;
		}
		if (!strcmp(argv[i], "-4")) {
			family = AF_INET;
			continue;
		}
		if (!strcmp(argv[i], "-6")) {
			family = AF_INET6;
			continue;
		}

		printf("Invalid option: '%s'\n", argv[i]);
		return 1;
	}

	sd = ipify_connect1(family);
	if (sd < 0)
		return 1;

	if (!ipify_query(sd, addr, sizeof(addr)))
		printf("%s\n", addr);

	return ipify_disconnect(sd);
}

/* The contents of this file is in the public domain. */
#include <ipify.h>
#include <string.h>
#include <sys/socket.h>

int main(int argc, char *argv[])
{
	int family = AF_UNSPEC;
	char addr[256];
	char *host;
	int i, sd;

	for (i = 1; i < argc; i++) {
		if (!strcmp(argv[i], "-h")) {
			printf("ipify [-46h] [HOST]\n");
			return 0;
		}
		if (!strcmp(argv[i], "-4")) {
			family = AF_INET;
			continue;
		}
		if (!strcmp(argv[i], "-6")) {
			family = AF_INET6;
			continue;
		}

		break;
	}

	if (i < argc)
		host = argv[i++];
	else
		host = "api.ipify.org";

	sd = ipify_connect2(host, family);
	if (sd < 0)
		return 1;

	if (!ipify_query(sd, addr, sizeof(addr)))
		printf("%s\n", addr);

	return ipify_disconnect(sd);
}

Use new API and expose optional host argument

Signed-off-by: Joachim Wiberg <583c295fd7602c168ad814279bbc3894ba65f5d6@gmail.com>


#if defined(_WIN32)
#  define __LITTLE_ENDIAN__        1
#  ifdef _M_IX86
#    define __i386__ 1
#  endif
#  ifdef _M_X64
#    define __x86_64__ 1
#  endif
#  if defined(_MSC_VER)
#    define snprintf                 _snprintf
#    define strtoull                 _strtoui64
#    define __func__                 __FUNCTION__
#  endif /* defined(_MSC_VER) */
#endif /* defined(_WIN32) */

#if HAVE_DECLSPEC_DLLEXPORT
#  ifdef LIBCPU_BUILD_CORE
#    define API_FUNC __declspec(dllexport)
#  else
#    define API_FUNC __declspec(dllimport)
#  endif
#else
#  define API_FUNC /* nothing */
#endif

#if HAVE_ATTRIBUTE_PACKED
#  define PACKED(x) x __attribute__((packed))
#elif HAVE_PRAGMA_PACK
#  define PACKED(x) __pragma(pack(push, 1)) x __pragma(pack(pop))
#else
#  error Do not know how to pack structs on this platform
#endif

#if HAVE_ATTRIBUTE_ALIGNED
#  define ALIGNED(x) __attribute__((aligned(x)))
#elif HAVE_DECLSPEC_ALIGN
#  define ALIGNED(x) __declspec(align(x))
#else
#  error Do not know how to specify alignment on this platform
#endif

Remove a Windows line-ending that was accidentally included


#include <gtk/gtk.h>

GtkWidget *
main_window_create()
{
  GtkWidget *window;

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "ghighlighter");

  g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);

  return window;
}

#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <glib.h>

static void
main_window_destroy(GtkAccelGroup *group, GObject *acceleratable,
    guint keyval, GdkModifierType modifier, gpointer user_data)
{
  gtk_widget_destroy(GTK_WIDGET(user_data));
}

void
main_window_bind_keys(GtkWidget *window)
{
  GtkAccelGroup *group = gtk_accel_group_new();

  GClosure *closure = g_cclosure_new(G_CALLBACK(main_window_destroy), window, NULL);
  gtk_accel_group_connect(group, GDK_KEY_q, GDK_CONTROL_MASK, 0, closure);

  gtk_window_add_accel_group(GTK_WINDOW(window), group);
}

GtkWidget *
main_window_create()
{
  GtkWidget *window;

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "ghighlighter");

  main_window_bind_keys(window);

  g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);

  return window;
}

Destroy main window on Ctrl+q

Destroy main window on Ctrl+q


//Copyright (c) 2018 Ultimaker B.V.
//CuraEngine is released under the terms of the AGPLv3 or higher.

#ifndef DURATION_H
#define DURATION_H

namespace cura
{

/*
 * \brief Represents a duration in seconds.
 *
 * This is a facade. It behaves like a double, only it can't be negative.
 */
struct Duration
{
    /*
     * \brief Default constructor setting the duration to 0.
     */
    Duration() : value(0) {};

    /*
     * \brief Casts a double to a Duration instance.
     */
    Duration(double value) : value(std::max(value, 0.0)) {};

    /*
     * \brief Casts the Duration instance to a double.
     */
    operator double() const
    {
        return value;
    };

    /*
     * Some operators to do arithmetic with Durations.
     */
    Duration operator +(const Duration& other) const
    {
        return Duration(value + other.value);
    };
    Duration operator -(const Duration& other) const
    {
        return Duration(value + other.value);
    };
    Duration& operator +=(const Duration& other)
    {
        value += other.value;
        return *this;
    }
    Duration& operator -=(const Duration& other)
    {
        value -= other.value;
        return *this;
    }

    /*
     * \brief The actual duration, as a double.
     */
    double value = 0;
};

}

#endif //DURATION_H

//Copyright (c) 2018 Ultimaker B.V.
//CuraEngine is released under the terms of the AGPLv3 or higher.

#ifndef DURATION_H
#define DURATION_H

namespace cura
{

/*
 * \brief Represents a duration in seconds.
 *
 * This is a facade. It behaves like a double, only it can't be negative.
 */
struct Duration
{
    /*
     * \brief Default constructor setting the duration to 0.
     */
    constexpr Duration() : value(0) {};

    /*
     * \brief Casts a double to a Duration instance.
     */
    constexpr Duration(double value) : value(value > 0.0 ? value : 0.0) {};

    /*
     * \brief Casts the Duration instance to a double.
     */
    operator double() const
    {
        return value;
    };

    /*
     * Some operators to do arithmetic with Durations.
     */
    Duration operator +(const Duration& other) const
    {
        return Duration(value + other.value);
    };
    Duration operator -(const Duration& other) const
    {
        return Duration(value + other.value);
    };
    Duration& operator +=(const Duration& other)
    {
        value += other.value;
        return *this;
    }
    Duration& operator -=(const Duration& other)
    {
        value -= other.value;
        return *this;
    }

    /*
     * \brief The actual duration, as a double.
     */
    double value = 0;
};

constexpr Duration operator "" _s(const long double seconds)
{
    return Duration(seconds);
}

}

#endif //DURATION_H

Add _s custom literal for durations

Add _s custom literal for durations

You can indicate that something takes 5 seconds by writing 5_s now. We can't make a literal saying '5s' because custom literals need to start with an underscore because C++ reserves the rest for use in future C++ versions.

Contributes to issue CURA-4410.


/* Defines common to all versions of NSS */

#define NSPR20 1
#define MP_API_COMPATIBLE 1
#define NSS_3_4_CODE 1 /* Remove this when we start building NSS 4.0 by default */

Define NSS_3_4 so that we get the right code and not Stan code that isn't quite ready.


#include <stdio.h>
#include <stdlib.h>

void next_fit(int blockSize[],int processSize[],int n,int m){
    int allocation[m];
    int i=0,j=0;
    for (i=0;i<m;i++)
        allocation[i]=-1;
    for (i=0;i<m;i++) {
        while (j<n) {
            if (blockSize[j]>=processSize[i])
             {
                allocation[i]=j;
                blockSize[j]-=processSize[i];
                break;
            }
            j=(j+1)%n;
        }
    }
    printf("\nProcess No.\tProcess Size\tBlock no.\n");
    for (i=0;i<m;i++) {
        printf("%d\t\t",i+1);
        printf("%d\t\t",processSize[i]);
        if (allocation[i]!=-1)
           printf("%d",allocation[i]+1);
        else
           printf("Not Allocated\n");
        printf("\n");
    }
}

int main(){
    int blockSize[]={10,20,300,40,500,60,100};
    int i,n,m;
    n=7;
    printf("Give number of processes:");
    scanf("%d",&m);
    int processSize[m];
    for (i=0;i<m;i++){
        printf("Give process size for process number %d:",i+1);
        scanf("%d",&processSize[i]);
    }
    next_fit(blockSize,processSize,n,m);
    return 0;
 }

Create next fit algorithm in c

Create next fit algorithm in c


// RUN: %clang_cc1 -triple arm64-apple-ios -O3 -emit-llvm -o - %s | FileCheck %s

void f0(void *a, void *b) {
	__clear_cache(a,b);
// CHECK: call {{.*}} @__clear_cache
}

// CHECK: call {{.*}} @llvm.aarch64.rbit.i32(i32 %a)
unsigned rbit(unsigned a) {
  return __builtin_arm_rbit(a);
}

// CHECK: call {{.*}} @llvm.aarch64.rbit.i64(i64 %a)
unsigned long long rbit64(unsigned long long a) {
  return __builtin_arm_rbit64(a);
}

void hints() {
  __builtin_arm_yield();  //CHECK: call {{.*}} @llvm.aarch64.hint(i32 1)
  __builtin_arm_wfe();    //CHECK: call {{.*}} @llvm.aarch64.hint(i32 2)
  __builtin_arm_wfi();    //CHECK: call {{.*}} @llvm.aarch64.hint(i32 3)
  __builtin_arm_sev();    //CHECK: call {{.*}} @llvm.aarch64.hint(i32 4)
  __builtin_arm_sevl();   //CHECK: call {{.*}} @llvm.aarch64.hint(i32 5)
}

Add test cases for AArch64 hints codegen

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@212909 91177308-0d34-0410-b5e6-96231b3b80d8


#import <Foundation/Foundation.h>

extern NSString *kCTCFeedCheckerErrorDomain;
typedef void (^CTCFeedCheckCompletionHandler)(NSArray *downloadedFeedFiles,
                                              NSError *error);
typedef void (^CTCFeedCheckDownloadCompletionHandler)(NSError *error);

@protocol CTCFeedCheck

- (void)checkShowRSSFeed:(NSURL *)feedURL
   downloadingToBookmark:(NSData *)downloadFolderBookmark
      organizingByFolder:(BOOL)shouldOrganizeByFolder
            skippingURLs:(NSArray *)previouslyDownloadedURLs
               withReply:(CTCFeedCheckCompletionHandler)reply;

- (void)downloadFile:(NSDictionary *)fileURL
          toBookmark:(NSData *)downloadFolderBookmark
  organizingByFolder:(BOOL)shouldOrganizeByFolder
           withReply:(CTCFeedCheckDownloadCompletionHandler)reply;

@end

@interface CTCFeedChecker : NSObject <CTCFeedCheck, NSXPCListenerDelegate>

+ (instancetype)sharedChecker;

@end

#import <Foundation/Foundation.h>

extern NSString *kCTCFeedCheckerErrorDomain;
typedef void (^CTCFeedCheckCompletionHandler)(NSArray *downloadedFeedFiles,
                                              NSError *error);
typedef void (^CTCFeedCheckDownloadCompletionHandler)(NSError *error);

@protocol CTCFeedCheck

- (void)checkShowRSSFeed:(NSURL *)feedURL
   downloadingToBookmark:(NSData *)downloadFolderBookmark
      organizingByFolder:(BOOL)shouldOrganizeByFolder
            skippingURLs:(NSArray *)previouslyDownloadedURLs
               withReply:(CTCFeedCheckCompletionHandler)reply;

- (void)downloadFile:(NSDictionary *)file
          toBookmark:(NSData *)downloadFolderBookmark
  organizingByFolder:(BOOL)shouldOrganizeByFolder
           withReply:(CTCFeedCheckDownloadCompletionHandler)reply;

@end

@interface CTCFeedChecker : NSObject <CTCFeedCheck, NSXPCListenerDelegate>

+ (instancetype)sharedChecker;

@end

Fix header out of sync

Fix header out of sync


// RUN: %ucc -fsyntax-only %s

int main()
{
    /* comment with stray handling *\
/
       /* this is a valid *\/ comment */
       /* this is a valid comment *\*/
    //  this is a valid\
comment

    return 0;
}

Add test for multi-line commenting

Add test for multi-line commenting


//--------------------------------------------------------------------*- C++ -*-
// CLING - the C++ LLVM-based InterpreterG :)
// version: $Id$
// author:  Vassil Vassilev <vasil.georgiev.vasilev@cern.ch>
//------------------------------------------------------------------------------

#ifndef CLING_RUNTIME_EXCEPTIONS_H
#define CLING_RUNTIME_EXCEPTIONS_H
namespace cling {
  namespace runtime {
    ///\brief Exception that is thrown when a null pointer dereference is found
    /// or a method taking non-null arguments is called with NULL argument.
    ///
    class cling_null_deref_exception { };
  } // end namespace runtime
} // end namespace cling
#endif // CLING_RUNTIME_EXCEPTIONS_H

//--------------------------------------------------------------------*- C++ -*-
// CLING - the C++ LLVM-based InterpreterG :)
// version: $Id$
// author:  Vassil Vassilev <vasil.georgiev.vasilev@cern.ch>
//------------------------------------------------------------------------------

#ifndef CLING_RUNTIME_EXCEPTIONS_H
#define CLING_RUNTIME_EXCEPTIONS_H
namespace clang {
  class Sema;
}
namespace cling {
  namespace runtime {
    ///\brief Exception that is thrown when a null pointer dereference is found
    /// or a method taking non-null arguments is called with NULL argument.
    ///
    class cling_null_deref_exception {
    private:
      unsigned m_Location;
      clang::Sema* m_Sema;
    public:
      cling_null_deref_exception(void* Loc, clang::Sema* S);
      ~cling_null_deref_exception();

      void what() throw();

    };
  } // end namespace runtime
} // end namespace cling
#endif // CLING_RUNTIME_EXCEPTIONS_H

Add missing header method declarations.

Add missing header method declarations.


//
//  FDTakeController.h
//  FDTakeExample
//
//  Created by Will Entriken on 8/9/12.
//  Copyright (c) 2012 William Entriken. All rights reserved.
//

#import <Foundation/Foundation.h>

@class FDTakeController;

@protocol FDTakeDelegate <NSObject>

- (void)takeController:(FDTakeController *)controller gotPhoto:(UIImage *)photo withInfo:(NSDictionary *)info;
- (void)takeController:(FDTakeController *)controller gotVideo:(NSURL *)video withInfo:(NSDictionary *)info;
- (void)takeController:(FDTakeController *)controller didCancelAfterAttempting:(BOOL)madeAttempt;

@end

@interface FDTakeController : NSObject

- (void)takePhotoOrChooseFromLibrary;
- (void)takeVideoOrChooseFromLibrary;
- (void)takePhotoOrVideoOrChooseFromLibrary;
@property (strong, nonatomic) UIImagePickerController *imagePicker;
@property (weak, nonatomic) id <FDTakeDelegate> delegate;

@end

//
//  FDTakeController.h
//  FDTakeExample
//
//  Created by Will Entriken on 8/9/12.
//  Copyright (c) 2012 William Entriken. All rights reserved.
//

#import <Foundation/Foundation.h>

@class FDTakeController;

@protocol FDTakeDelegate <NSObject>

@optional
- (void)takeController:(FDTakeController *)controller didCancelAfterAttempting:(BOOL)madeAttempt;
- (void)takeController:(FDTakeController *)controller gotPhoto:(UIImage *)photo withInfo:(NSDictionary *)info;
- (void)takeController:(FDTakeController *)controller gotVideo:(NSURL *)video withInfo:(NSDictionary *)info;

@end

@interface FDTakeController : NSObject

+ (UIImage*)imageWithImage:(UIImage*)sourceImage scaledToSizeWithSameAspectRatio:(CGSize)targetSize;

- (void)takePhotoOrChooseFromLibrary;
- (void)takeVideoOrChooseFromLibrary;
- (void)takePhotoOrVideoOrChooseFromLibrary;
@property (strong, nonatomic) UIImagePickerController *imagePicker;
@property (weak, nonatomic) id <FDTakeDelegate> delegate;

@end

Make more usable for production

Make more usable for production


#include <memory>
#include <random>

static std::mt19937 mt;
static std::uniform_int_distribution<int> d(1,10);
static auto gen = []{return d(mt);};

class Tree
{
  int data_;
  std::shared_ptr<Tree> left_;
  std::shared_ptr<Tree> right_;

  public:

  Tree(int levels=0)
  {
    data_ = gen();
    if ( levels <= 0 ) return;
    left_ = std::make_shared<Tree>(levels-1);
    right_ = std::make_shared<Tree>(levels-1);
  }

  const Tree* left_subtree() const
  {
    return left_.get();
  }

  const Tree* right_subtree() const
  {
    return right_.get();
  }

  int data() const
  {
    return data_;
  }

};

Add tree demo to input - needed for subobjects


/*
 * Copyright 2016 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */
#ifndef SK_MILESTONE
#define SK_MILESTONE 64
#endif

/*
 * Copyright 2016 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */
#ifndef SK_MILESTONE
#define SK_MILESTONE 65
#endif

Update Skia milestone to 65

Update Skia milestone to 65

NOTRY=TRUE
TBR=reed

Bug: skia:
Change-Id: I3dfe04202f48068bd04e7d64fa38913906af02ce
Reviewed-on: https://skia-review.googlesource.com/78201
Reviewed-by: Heather Miller <2e22000c5d22374561fe5fba576a31095b72dc2e@google.com>
Commit-Queue: Heather Miller <2e22000c5d22374561fe5fba576a31095b72dc2e@google.com>


/*
 * An axis-aligned bounding box in 3D space.
 * Author: Dino Wernli
 */

#ifndef BOUNDING_BOX_H_
#define BOUNDING_BOX_H_

#include "util/numeric.h"

class Point3;

class BoundingBox {
 public:
  BoundingBox(const Point3& point);
  virtual ~BoundingBox();

  // Changes the bounding box to include point.
  BoundingBox& Include(const Point3& point);

 private:
  Scalar xmin_, xmax_, ymin_, ymax_, zmin_, zmax_;
};

#endif  /* BOUNDING_BOX_H_ */

/*
 * An axis-aligned bounding box in 3D space.
 * Author: Dino Wernli
 */

#ifndef BOUNDING_BOX_H_
#define BOUNDING_BOX_H_

#include "util/numeric.h"

class Point3;

class BoundingBox {
 public:
  BoundingBox(const Point3& point);
  virtual ~BoundingBox();

  // Changes the bounding box to include point.
  BoundingBox& Include(const Point3& point);

 private:
  Scalar xmin_, xmax_, ymin_, ymax_, zmin_, zmax_;
};

template<class OStream>
OStream& operator<<(OStream& os, const BoundingBox& box) {
  return os << "(box: "
    "(" << box.xmin_ << ' ' << box.xmax_ << ") "
    "(" << box.ymin_ << ' ' << box.ymax_ << ") "
    "(" << box.zmin_ << ' ' << box.zmax_ << "))";
}

#endif  /* BOUNDING_BOX_H_ */

Add support for dumping bounding boxes.

Add support for dumping bounding boxes.


#pragma once
//------------------------------------------------------------------------------
/**
    @class Oryol::Render::PrimitiveType
    @brief primitive type enum (triangle strips, lists, etc...)
*/
#include "Core/Types.h"

namespace Oryol {
namespace Render {

class PrimitiveType {
public:
    /// primitive type enum
    enum Code {
        Points,                 ///< point list
        LineStrip,              ///< line strip
        LineLoop,               ///< closed line loop
        Lines,                  ///< line list
        TriangleStrip,          ///< triangle strip
        TriangleFan,            ///< triangle fan
        Triangles,              ///< triangle list

        NumPrimitiveTypes,      ///< number of primitive types
        InvalidPrimitiveType,   ///< invalid primitive type value
    };

    /// convert to string
    static const char* ToString(Code c);
    /// convert from string
    static Code FromString(const char* str);
};

} // namespace Render
} // namespace Oryol

#pragma once
//------------------------------------------------------------------------------
/**
    @class Oryol::Render::PrimitiveType
    @brief primitive type enum (triangle strips, lists, etc...)
*/
#include "Core/Types.h"

namespace Oryol {
namespace Render {

class PrimitiveType {
public:
    /// primitive type enum (don't change order, append to end!)
    enum Code {
        Points = 0,             ///< point list
        LineStrip,              ///< line strip
        LineLoop,               ///< closed line loop
        Lines,                  ///< line list
        TriangleStrip,          ///< triangle strip
        TriangleFan,            ///< triangle fan
        Triangles,              ///< triangle list

        NumPrimitiveTypes,      ///< number of primitive types
        InvalidPrimitiveType,   ///< invalid primitive type value
    };

    /// convert to string
    static const char* ToString(Code c);
    /// convert from string
    static Code FromString(const char* str);
};

} // namespace Render
} // namespace Oryol

Make sure primitive type enum starts at 0


#include "../H/ugens.h"
#include <stdio.h>

/* these 3 defined in makegen.c */
extern float *farrays[];
extern int sizeof_farray[];
extern int f_goto[];

/* Returns the address of function number genno, or NULL if the
   function array doesn't exist.

   NOTE: It's the responsiblity of instruments to deal with a
   missing gen, either by using die() or supplying a default
   and alerting the user with advise().
*/
float *floc(int genno)
{
   int index = f_goto[genno];
   if (sizeof_farray[index] == 0)
      return NULL;
   return farrays[index];
}

#include <stdio.h>
#include <ugens.h>

/* these 3 defined in makegen.c */
extern float *farrays[];
extern int sizeof_farray[];
extern int f_goto[];

/* Returns the address of function number genno, or NULL if the
   function array doesn't exist.

   NOTE: It's the responsiblity of instruments to deal with a
   missing gen, either by using die() or supplying a default
   and alerting the user with advise().
*/
float *floc(int genno)
{
   int index;

   if (genno < 0)
      return NULL;

   index = f_goto[genno];
   if (sizeof_farray[index] == 0)
      return NULL;

   return farrays[index];
}

Make sure gen loc is in range.

Make sure gen loc is in range.