Skip to content

Instantly share code, notes, and snippets.

@tateisu
tateisu / gist:6085481
Created July 26, 2013 02:04
foo_dsp_xgeq でエクスポートしたデータに対して、指定チャネルの全バンドに一定の値を加算するスクリプト usage: xgeq-offset.pl infile (outfile (ch:delta) (ch:delta) ...) example: perl xgeq-offset.pl infile.xgeq outfile.xgeq 0:-3 1:-3.5
#!perl --
use strict;
use warnings;
use Carp;
sub hexFromBytes($){ return unpack("H*",$_[0]); }
sub bytesFromHex($){ return pack("H*",$_[0]); }
sub bytesFromFloat($){ return pack('f',@_); }
sub intFromBytes($){
function formatFileError(err){
var sb = err.toString();
for( var k in err ){
sb += "\n "+k+"="+err[k];
if( k == "code" ){
sb+=" ";
switch (err[k]) {
case FileError.QUOTA_EXCEEDED_ERR: sb += 'QUOTA_EXCEEDED_ERR'; break;
case FileError.NOT_FOUND_ERR: sb += 'NOT_FOUND_ERR'; break;
function formatFileError(err){
var sb = err.toString();
for( var k in err ){
sb += "\n "+k+"="+err[k];
if( k == "code" ){
sb+=" ";
switch (err[k]) {
case FileError.QUOTA_EXCEEDED_ERR: sb += 'QUOTA_EXCEEDED_ERR'; break;
case FileError.NOT_FOUND_ERR: sb += 'NOT_FOUND_ERR'; break;
case FileError.SECURITY_ERR: sb += 'SECURITY_ERR'; break;
function formatFileError(err){
var sb = err.toString();
for( var k in err ){
sb += "\n "+k+"="+err[k];
if( k == "code" ){
sb+=" ";
switch (err[k]) {
case FileError.QUOTA_EXCEEDED_ERR: sb += 'QUOTA_EXCEEDED_ERR'; break;
case FileError.NOT_FOUND_ERR: sb += 'NOT_FOUND_ERR'; break;
case FileError.SECURITY_ERR: sb += 'SECURITY_ERR'; break;
@tateisu
tateisu / gist:6969180
Created October 14, 2013 00:53
C++のvariadic templateの可変長引数にランダムアクセスする std::vector<boost::any> に詰め込んで後から取り出す感じ
#include <iostream>
#include <vector>
#include <boost/any.hpp>
void push_to_vector( std::vector<boost::any>& result ){}
template<typename First,typename ... Rest > void push_to_vector(std::vector<boost::any>& result ,First first ,const Rest& ... rest ){
result.push_back( first );
push_to_vector(result,rest ... );
}
package PSGI_CGI;
sub make_psgi_env($$$$){
my($schema,$CGI_ENV,$stdin,$stderr)=@_;
$env = {
# コマンドラインから実行した場合には存在しないがPSGI的にMUSTな情報
REQUEST_METHOD => 'GET'
,SCRIPT_NAME => ''
,PATH_INFO =>''
,REQUEST_URI =>''
boolean f1( @NonNull String arg){
return arg.contains( "foo" );
}
String getStringOrNull(){
return (System.currentTimeMillis() %1) ==0 ? null : "foo";
}
void test(){
f1(null); // 警告が出る
f1(getStringOrNull()); // 警告が出ない
android.support.annotation の @NonNull が定数式以外に全く効果が無い件。
この場合は test() の3つ目は警告を出して欲しいだろう普通
boolean f1( @NonNull String arg){
return arg.contains( "foo" );
}
@NonNull String getString(){
return "foo";
}
android.support.annotation の @NonNull が定数式以外に全く効果が無い件。
この場合は test() の3つ目は警告を出して欲しいだろう普通
boolean f1( @NonNull String arg){
return arg.contains( "foo" );
}
@NonNull String getString(){
return "foo";
}
// android.support.annotation の @NonNull が定数式以外に全く効果が無い件。
// この場合は test() の3つ目は警告を出して欲しいだろう普通
boolean f1( @NonNull String arg){
return arg.contains( "foo" );
}
@NonNull String getString(){
return "foo";
}