mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
snake_case consts
This commit is contained in:
parent
81f8b26127
commit
a76165828b
@ -65,11 +65,11 @@ fn (v mut V) cc() {
|
||||
if v.pref.build_mode == .build_module {
|
||||
// Create the modules & out directory if it's not there.
|
||||
mut out_dir := if v.dir.starts_with('vlib') {
|
||||
'$v_modules_path${os.PathSeparator}cache${os.PathSeparator}$v.dir'
|
||||
'$v_modules_path${os.path_separator}cache${os.path_separator}$v.dir'
|
||||
} else {
|
||||
'$v_modules_path${os.PathSeparator}$v.dir'
|
||||
'$v_modules_path${os.path_separator}$v.dir'
|
||||
}
|
||||
pdir := out_dir.all_before_last(os.PathSeparator)
|
||||
pdir := out_dir.all_before_last(os.path_separator)
|
||||
if !os.dir_exists(pdir) {
|
||||
os.mkdir_all(pdir)
|
||||
}
|
||||
@ -118,25 +118,25 @@ fn (v mut V) cc() {
|
||||
}
|
||||
else if v.pref.is_cache {
|
||||
vexe := os.executable()
|
||||
builtin_o_path := '$v_modules_path${os.PathSeparator}cache${os.PathSeparator}vlib${os.PathSeparator}builtin.o'
|
||||
builtin_o_path := '$v_modules_path${os.path_separator}cache${os.path_separator}vlib${os.path_separator}builtin.o'
|
||||
if os.file_exists(builtin_o_path) {
|
||||
libs = builtin_o_path
|
||||
} else {
|
||||
println('$builtin_o_path not found... building module builtin')
|
||||
os.system('$vexe build module vlib${os.PathSeparator}builtin')
|
||||
os.system('$vexe build module vlib${os.path_separator}builtin')
|
||||
}
|
||||
for imp in v.table.imports {
|
||||
if imp.contains('vweb') { continue } // not working
|
||||
if imp == 'webview' { continue }
|
||||
|
||||
imp_path := imp.replace('.', os.PathSeparator)
|
||||
path := '$v_modules_path${os.PathSeparator}cache${os.PathSeparator}vlib${os.PathSeparator}${imp_path}.o'
|
||||
imp_path := imp.replace('.', os.path_separator)
|
||||
path := '$v_modules_path${os.path_separator}cache${os.path_separator}vlib${os.path_separator}${imp_path}.o'
|
||||
//println('adding ${imp_path}.o')
|
||||
if os.file_exists(path) {
|
||||
libs += ' ' + path
|
||||
} else {
|
||||
println('$path not found... building module $imp')
|
||||
os.system('$vexe build module vlib${os.PathSeparator}$imp_path')
|
||||
os.system('$vexe build module vlib${os.path_separator}$imp_path')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -254,7 +254,7 @@ fn build_thirdparty_obj_file(path string, moduleflags []CFlag) {
|
||||
mut cfiles := ''
|
||||
for file in files {
|
||||
if file.ends_with('.c') {
|
||||
cfiles += '"' + os.realpath( parent + os.PathSeparator + file ) + '" '
|
||||
cfiles += '"' + os.realpath( parent + os.path_separator + file ) + '" '
|
||||
}
|
||||
}
|
||||
cc := find_c_compiler()
|
||||
|
@ -610,7 +610,7 @@ fn (v &V) v_files_from_dir(dir string) []string {
|
||||
if file.ends_with('_c.v') && v.os == .js {
|
||||
continue
|
||||
}
|
||||
res << '$dir${os.PathSeparator}$file'
|
||||
res << '$dir${os.path_separator}$file'
|
||||
}
|
||||
return res
|
||||
}
|
||||
@ -619,7 +619,7 @@ fn (v &V) v_files_from_dir(dir string) []string {
|
||||
fn (v mut V) add_v_files_to_compile() {
|
||||
mut builtin_files := v.get_builtin_files()
|
||||
// Builtin cache exists? Use it.
|
||||
builtin_vh := '$v_modules_path${os.PathSeparator}vlib${os.PathSeparator}builtin.vh'
|
||||
builtin_vh := '$v_modules_path${os.path_separator}vlib${os.path_separator}builtin.vh'
|
||||
if v.pref.is_cache && os.file_exists(builtin_vh) {
|
||||
v.cached_mods << 'builtin'
|
||||
builtin_files = [builtin_vh]
|
||||
@ -638,7 +638,7 @@ fn (v mut V) add_v_files_to_compile() {
|
||||
mut p := v.new_parser_from_file(file)
|
||||
// set mod so we dont have to resolve submodule
|
||||
if v.pref.build_mode == .build_module &&
|
||||
file.contains(v.mod.replace('.', os.PathSeparator)) {
|
||||
file.contains(v.mod.replace('.', os.path_separator)) {
|
||||
p.mod = v.mod
|
||||
}
|
||||
p.parse(.imports)
|
||||
@ -662,8 +662,8 @@ fn (v mut V) add_v_files_to_compile() {
|
||||
|
||||
// use cached built module if exists
|
||||
if v.pref.build_mode != .build_module && !mod.contains('vweb') {
|
||||
mod_path := mod.replace('.', os.PathSeparator)
|
||||
vh_path := '$v_modules_path${os.PathSeparator}vlib${os.PathSeparator}${mod_path}.vh'
|
||||
mod_path := mod.replace('.', os.path_separator)
|
||||
vh_path := '$v_modules_path${os.path_separator}vlib${os.path_separator}${mod_path}.vh'
|
||||
if v.pref.is_cache && os.file_exists(vh_path) {
|
||||
println('using cached module `$mod`: $vh_path')
|
||||
v.cached_mods << mod
|
||||
@ -689,9 +689,9 @@ fn (v &V) get_builtin_files() []string {
|
||||
// .vh cache exists? Use it
|
||||
|
||||
$if js {
|
||||
return v.v_files_from_dir('$v.vroot${os.PathSeparator}vlib${os.PathSeparator}builtin${os.PathSeparator}js')
|
||||
return v.v_files_from_dir('$v.vroot${os.path_separator}vlib${os.path_separator}builtin${os.path_separator}js')
|
||||
}
|
||||
return v.v_files_from_dir('$v.vroot${os.PathSeparator}vlib${os.PathSeparator}builtin')
|
||||
return v.v_files_from_dir('$v.vroot${os.path_separator}vlib${os.path_separator}builtin')
|
||||
}
|
||||
|
||||
// get user files
|
||||
@ -703,22 +703,22 @@ fn (v &V) get_user_files() []string {
|
||||
mut user_files := []string
|
||||
|
||||
if v.pref.is_test && v.pref.is_stats {
|
||||
user_files << [v.vroot, 'vlib', 'benchmark', 'tests', 'always_imported.v'].join( os.PathSeparator )
|
||||
user_files << [v.vroot, 'vlib', 'benchmark', 'tests', 'always_imported.v'].join( os.path_separator )
|
||||
}
|
||||
|
||||
// v volt/slack_test.v: compile all .v files to get the environment
|
||||
// I need to implement user packages! TODO
|
||||
is_test_with_imports := dir.ends_with('_test.v') &&
|
||||
(dir.contains('${os.PathSeparator}volt') || dir.contains('${os.PathSeparator}c2volt'))// TODO
|
||||
(dir.contains('${os.path_separator}volt') || dir.contains('${os.path_separator}c2volt'))// TODO
|
||||
if is_test_with_imports {
|
||||
user_files << dir
|
||||
pos := dir.last_index(os.PathSeparator)
|
||||
dir = dir.left(pos) + os.PathSeparator// TODO WHY IS THIS .neEDED?
|
||||
pos := dir.last_index(os.path_separator)
|
||||
dir = dir.left(pos) + os.path_separator// TODO WHY IS THIS .neEDED?
|
||||
}
|
||||
if dir.ends_with('.v') {
|
||||
// Just compile one file and get parent dir
|
||||
user_files << dir
|
||||
dir = dir.all_before('${os.PathSeparator}')
|
||||
dir = dir.all_before('${os.path_separator}')
|
||||
}
|
||||
else {
|
||||
// Add .v files from the directory being compiled
|
||||
@ -815,7 +815,7 @@ fn new_v(args[]string) &V {
|
||||
// Create modules dirs if they are missing
|
||||
if !os.dir_exists(v_modules_path) {
|
||||
os.mkdir(v_modules_path)
|
||||
os.mkdir('$v_modules_path${os.PathSeparator}cache')
|
||||
os.mkdir('$v_modules_path${os.path_separator}cache')
|
||||
}
|
||||
|
||||
mut vgen_buf := strings.new_builder(1000)
|
||||
@ -829,10 +829,10 @@ fn new_v(args[]string) &V {
|
||||
if 'run' in args {
|
||||
dir = get_param_after(joined_args, 'run', '')
|
||||
}
|
||||
if dir.ends_with(os.PathSeparator) {
|
||||
dir = dir.all_before_last(os.PathSeparator)
|
||||
if dir.ends_with(os.path_separator) {
|
||||
dir = dir.all_before_last(os.path_separator)
|
||||
}
|
||||
if dir.starts_with('.$os.PathSeparator') {
|
||||
if dir.starts_with('.$os.path_separator') {
|
||||
dir = dir.right(2)
|
||||
}
|
||||
if args.len < 2 {
|
||||
@ -845,17 +845,17 @@ fn new_v(args[]string) &V {
|
||||
build_mode = .build_module
|
||||
// v build module ~/v/os => os.o
|
||||
mod_path := if dir.contains('vlib') {
|
||||
dir.all_after('vlib'+os.PathSeparator)
|
||||
dir.all_after('vlib'+os.path_separator)
|
||||
}
|
||||
else if dir.starts_with('.\\') || dir.starts_with('./') {
|
||||
dir.right(2)
|
||||
}
|
||||
else if dir.starts_with(os.PathSeparator) {
|
||||
dir.all_after(os.PathSeparator)
|
||||
else if dir.starts_with(os.path_separator) {
|
||||
dir.all_after(os.path_separator)
|
||||
} else {
|
||||
dir
|
||||
}
|
||||
mod = mod_path.replace(os.PathSeparator, '.')
|
||||
mod = mod_path.replace(os.path_separator, '.')
|
||||
println('Building module "${mod}" (dir="$dir")...')
|
||||
//out_name = '$TmpPath/vlib/${base}.o'
|
||||
out_name = mod
|
||||
@ -881,7 +881,7 @@ fn new_v(args[]string) &V {
|
||||
}
|
||||
// if we are in `/foo` and run `v .`, the executable should be `foo`
|
||||
if dir == '.' && out_name == 'a.out' {
|
||||
base := os.getwd().all_after(os.PathSeparator)
|
||||
base := os.getwd().all_after(os.path_separator)
|
||||
out_name = base.trim_space()
|
||||
}
|
||||
mut _os := OS.mac
|
||||
@ -976,7 +976,7 @@ fn new_v(args[]string) &V {
|
||||
println('C compiler=$pref.ccompiler')
|
||||
}
|
||||
if pref.is_so {
|
||||
out_name_c = out_name.all_after(os.PathSeparator) + '_shared_lib.c'
|
||||
out_name_c = out_name.all_after(os.path_separator) + '_shared_lib.c'
|
||||
}
|
||||
return &V{
|
||||
os: _os
|
||||
|
@ -106,14 +106,14 @@ fn v_type_str(typ_ string) string {
|
||||
|
||||
fn (v &V) generate_vh() {
|
||||
println('\n\n\n\nGenerating a V header file for module `$v.mod`')
|
||||
mod_path := v.mod.replace('.', os.PathSeparator)
|
||||
mod_path := v.mod.replace('.', os.path_separator)
|
||||
dir := if v.dir.starts_with('vlib') {
|
||||
'$v_modules_path${os.PathSeparator}$v.dir'
|
||||
'$v_modules_path${os.path_separator}$v.dir'
|
||||
} else {
|
||||
'$v_modules_path${os.PathSeparator}$mod_path'
|
||||
'$v_modules_path${os.path_separator}$mod_path'
|
||||
}
|
||||
path := dir + '.vh'
|
||||
pdir := dir.all_before_last(os.PathSeparator)
|
||||
pdir := dir.all_before_last(os.path_separator)
|
||||
if !os.dir_exists(pdir) {
|
||||
os.mkdir_all(pdir)
|
||||
// os.mkdir(os.realpath(dir))
|
||||
|
@ -33,7 +33,7 @@ pub fn(graph &DepGraph) imports() []string {
|
||||
fn (v &V) module_path(mod string) string {
|
||||
// submodule support
|
||||
if mod.contains('.') {
|
||||
return mod.replace('.', os.PathSeparator)
|
||||
return mod.replace('.', os.path_separator)
|
||||
// return mod.replace('.', '/')
|
||||
}
|
||||
return mod
|
||||
@ -45,15 +45,15 @@ fn (v &V) module_path(mod string) string {
|
||||
fn (v &V) find_module_path(mod string) ?string {
|
||||
mod_path := v.module_path(mod)
|
||||
// First check for local modules in the same directory
|
||||
mut import_path := os.getwd() + '${os.PathSeparator}$mod_path'
|
||||
mut import_path := os.getwd() + '${os.path_separator}$mod_path'
|
||||
// Now search in vlib/
|
||||
if !os.dir_exists(import_path) {
|
||||
import_path = '$v.lang_dir${os.PathSeparator}vlib${os.PathSeparator}$mod_path'
|
||||
import_path = '$v.lang_dir${os.path_separator}vlib${os.path_separator}$mod_path'
|
||||
}
|
||||
//println('ip=$import_path')
|
||||
// Finally try modules installed with vpm (~/.vmodules)
|
||||
if !os.dir_exists(import_path) {
|
||||
import_path = '$v_modules_path${os.PathSeparator}$mod_path'
|
||||
import_path = '$v_modules_path${os.path_separator}$mod_path'
|
||||
if !os.dir_exists(import_path){
|
||||
return error('module "$mod" not found')
|
||||
}
|
||||
|
@ -191,7 +191,7 @@ fn find_msvc() ?MsvcResult {
|
||||
}
|
||||
|
||||
return MsvcResult {
|
||||
full_cl_exe_path: os.realpath( vs.exe_path + os.PathSeparator + 'cl.exe' )
|
||||
full_cl_exe_path: os.realpath( vs.exe_path + os.path_separator + 'cl.exe' )
|
||||
exe_path: vs.exe_path,
|
||||
|
||||
um_lib_path: wk.um_lib_path,
|
||||
@ -388,7 +388,7 @@ fn build_thirdparty_obj_file_with_msvc(path string, moduleflags []CFlag) {
|
||||
mut cfiles := ''
|
||||
for file in files {
|
||||
if file.ends_with('.c') {
|
||||
cfiles += '"' + os.realpath( parent + os.PathSeparator + file ) + '" '
|
||||
cfiles += '"' + os.realpath( parent + os.path_separator + file ) + '" '
|
||||
}
|
||||
}
|
||||
|
||||
@ -441,7 +441,7 @@ fn (cflags []CFlag) msvc_string_flags() MsvcStringFlags {
|
||||
}
|
||||
else if flag.name == '-L' {
|
||||
lib_paths << flag.value
|
||||
lib_paths << flag.value + os.PathSeparator + 'msvc'
|
||||
lib_paths << flag.value + os.path_separator + 'msvc'
|
||||
// The above allows putting msvc specific .lib files in a subfolder msvc/ ,
|
||||
// where gcc will NOT find them, but cl will do...
|
||||
// NB: gcc is smart enough to not need .lib files at all in most cases, the .dll is enough.
|
||||
|
@ -122,7 +122,7 @@ fn (v mut V) new_parser_from_file(path string) Parser {
|
||||
mut p := v.new_parser(new_scanner_file(path), path)
|
||||
p = { p|
|
||||
file_path: path,
|
||||
file_name: path.all_after(os.PathSeparator),
|
||||
file_name: path.all_after(os.path_separator),
|
||||
file_platform: path_platform,
|
||||
file_pcguard: path_pcguard,
|
||||
is_script: (v.pref.is_script && os.realpath(path) == os.realpath(path)),
|
||||
@ -518,8 +518,8 @@ fn (p mut Parser) const_decl() {
|
||||
continue
|
||||
}
|
||||
mut name := p.check_name() // `Age = 20`
|
||||
if p.mod != 'os' && contains_capital(name) {
|
||||
//p.warn('const names cannot contain uppercase letters, use snake_case instead')
|
||||
if !p.pref.building_v && p.mod != 'os' && contains_capital(name) {
|
||||
p.warn('const names cannot contain uppercase letters, use snake_case instead')
|
||||
}
|
||||
name = p.prepend_mod(name)
|
||||
mut typ := ''
|
||||
|
@ -725,7 +725,7 @@ fn (s mut Scanner) debug_tokens() {
|
||||
s.started = false
|
||||
s.debug = true
|
||||
|
||||
fname := s.file_path.all_after(os.PathSeparator)
|
||||
fname := s.file_path.all_after(os.path_separator)
|
||||
println('\n===DEBUG TOKENS $fname===')
|
||||
|
||||
for {
|
||||
|
@ -778,14 +778,14 @@ fn (table &Table) cgen_name_type_pair(name, typ string) string {
|
||||
fn is_valid_int_const(val, typ string) bool {
|
||||
x := val.int()
|
||||
switch typ {
|
||||
case 'byte': return 0 <= x && x <= math.MaxU8
|
||||
case 'u16': return 0 <= x && x <= math.MaxU16
|
||||
case 'byte': return 0 <= x && x <= math.max_u8
|
||||
case 'u16': return 0 <= x && x <= math.max_u16
|
||||
//case 'u32': return 0 <= x && x <= math.MaxU32
|
||||
//case 'u64': return 0 <= x && x <= math.MaxU64
|
||||
//////////////
|
||||
case 'i8': return math.MinI8 <= x && x <= math.MaxI8
|
||||
case 'i16': return math.MinI16 <= x && x <= math.MaxI16
|
||||
case 'int': return math.MinI32 <= x && x <= math.MaxI32
|
||||
case 'i8': return math.min_i8 <= x && x <= math.max_i8
|
||||
case 'i16': return math.min_i16 <= x && x <= math.max_i16
|
||||
case 'int': return math.min_i32 <= x && x <= math.max_i32
|
||||
//case 'i64':
|
||||
//x64 := val.i64()
|
||||
//return i64(-(1<<63)) <= x64 && x64 <= i64((1<<63)-1)
|
||||
@ -870,7 +870,7 @@ fn (table &Table) qualify_module(mod string, file_path string) string {
|
||||
for m in table.imports {
|
||||
if m.contains('.') && m.contains(mod) {
|
||||
m_parts := m.split('.')
|
||||
m_path := m_parts.join(os.PathSeparator)
|
||||
m_path := m_parts.join(os.path_separator)
|
||||
if mod == m_parts[m_parts.len-1] && file_path.contains(m_path) {
|
||||
return m
|
||||
}
|
||||
|
@ -11,12 +11,12 @@ pub:
|
||||
|
||||
pub fn full_path_to_v() string {
|
||||
vname := if os.user_os() == 'windows' { 'v.exe' } else { 'v' }
|
||||
vexec := os.dir(os.dir(os.dir(os.dir( os.executable() )))) + os.PathSeparator + vname
|
||||
vexec := os.dir(os.dir(os.dir(os.dir( os.executable() )))) + os.path_separator + vname
|
||||
/*
|
||||
args := os.args
|
||||
vreal := os.realpath('v')
|
||||
myself := os.realpath( os.executable() )
|
||||
wd := os.getwd() + os.PathSeparator
|
||||
wd := os.getwd() + os.path_separator
|
||||
println('args are: $args')
|
||||
println('vreal : $vreal')
|
||||
println('myself : $myself')
|
||||
@ -76,7 +76,7 @@ $diff
|
||||
}
|
||||
|
||||
pub fn new_options() RunnerOptions {
|
||||
wd := os.getwd() + os.PathSeparator
|
||||
wd := os.getwd() + os.path_separator
|
||||
vexec := full_path_to_v()
|
||||
mut files := []string
|
||||
if os.args.len > 1 {
|
||||
|
@ -56,7 +56,7 @@ fn test_v() {
|
||||
}
|
||||
if os.dir_exists(targ) {
|
||||
|
||||
ts.files << os.walk_ext( targ.trim_right(os.PathSeparator), '_test.v')
|
||||
ts.files << os.walk_ext( targ.trim_right(os.path_separator), '_test.v')
|
||||
continue
|
||||
}
|
||||
println('Unrecognized test file $targ .')
|
||||
|
@ -172,7 +172,7 @@ fn (c Context) compare_v_performance( commands []string ) {
|
||||
for cmd in commands { hyperfine_commands_arguments << ' \'cd ${c.b:30s} ; ./$cmd \' ' }
|
||||
for cmd in commands { hyperfine_commands_arguments << ' \'cd ${c.a:30s} ; ./$cmd \' ' }
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
cmd_stats_file := os.realpath([ c.workdir, 'v_performance_stats.json'].join(os.PathSeparator))
|
||||
cmd_stats_file := os.realpath([ c.workdir, 'v_performance_stats.json'].join(os.path_separator))
|
||||
comparison_cmd := 'hyperfine $c.hyperfineopts '+
|
||||
'--export-json ${cmd_stats_file} '+
|
||||
'--time-unit millisecond '+
|
||||
@ -187,7 +187,7 @@ fn (c Context) compare_v_performance( commands []string ) {
|
||||
|
||||
fn (c Context) normalized_workpath_for_commit( commit string ) string {
|
||||
nc := 'v_at_' + commit.replace('^','_').replace('-','_').replace('/','_')
|
||||
return os.realpath( c.workdir + os.PathSeparator + nc )
|
||||
return os.realpath( c.workdir + os.path_separator + nc )
|
||||
}
|
||||
|
||||
fn validate_commit_exists( commit string ){
|
||||
|
@ -9,36 +9,36 @@ module math
|
||||
// All functions are sorted alphabetically.
|
||||
|
||||
const (
|
||||
E = 2.71828182845904523536028747135266249775724709369995957496696763
|
||||
Pi = 3.14159265358979323846264338327950288419716939937510582097494459
|
||||
Phi = 1.61803398874989484820458683436563811772030917980576286213544862
|
||||
Tau = 6.28318530717958647692528676655900576839433879875021164194988918
|
||||
e = 2.71828182845904523536028747135266249775724709369995957496696763
|
||||
pi = 3.14159265358979323846264338327950288419716939937510582097494459
|
||||
phi = 1.61803398874989484820458683436563811772030917980576286213544862
|
||||
tau = 6.28318530717958647692528676655900576839433879875021164194988918
|
||||
|
||||
Sqrt2 = 1.41421356237309504880168872420969807856967187537694807317667974
|
||||
SqrtE = 1.64872127070012814684865078781416357165377610071014801157507931
|
||||
SqrtPi = 1.77245385090551602729816748334114518279754945612238712821380779
|
||||
SqrtTau = 2.50662827463100050241576528481104525300698674060993831662992357
|
||||
SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038
|
||||
sqrt2 = 1.41421356237309504880168872420969807856967187537694807317667974
|
||||
sqrt_e = 1.64872127070012814684865078781416357165377610071014801157507931
|
||||
sqrt_pi = 1.77245385090551602729816748334114518279754945612238712821380779
|
||||
sqrt_tau = 2.50662827463100050241576528481104525300698674060993831662992357
|
||||
sqrt_phi = 1.27201964951406896425242246173749149171560804184009624861664038
|
||||
|
||||
Ln2 = 0.693147180559945309417232121458176568075500134360255254120680009
|
||||
Log2E = 1.0 / Ln2
|
||||
Ln10 = 2.30258509299404568401799145468436420760110148862877297603332790
|
||||
Log10E = 1.0 / Ln10
|
||||
ln2 = 0.693147180559945309417232121458176568075500134360255254120680009
|
||||
log2_e = 1.0 / ln2
|
||||
ln10 = 2.30258509299404568401799145468436420760110148862877297603332790
|
||||
log10_e = 1.0 / ln10
|
||||
)
|
||||
|
||||
const (
|
||||
MaxI8 = 127
|
||||
MinI8 = -128
|
||||
MaxI16 = 32767
|
||||
MinI16 = -32768
|
||||
MaxI32 = 2147483647
|
||||
MinI32 = -2147483648
|
||||
max_i8 = 127
|
||||
min_i8 = -128
|
||||
max_i16 = 32767
|
||||
min_i16 = -32768
|
||||
max_i32 = 2147483647
|
||||
min_i32 = -2147483648
|
||||
// MaxI64 = ((1<<63) - 1)
|
||||
// MinI64 = (-(1 << 63) )
|
||||
MaxU8 = 255
|
||||
MaxU16 = 65535
|
||||
MaxU32 = 4294967295
|
||||
MaxU64 = 18446744073709551615
|
||||
max_u8 = 255
|
||||
max_u16 = 65535
|
||||
max_u32 = 4294967295
|
||||
max_u64 = 18446744073709551615
|
||||
)
|
||||
|
||||
// Returns the absolute value.
|
||||
@ -93,7 +93,7 @@ pub fn cosh(a f64) f64 {
|
||||
|
||||
// degrees convert from degrees to radians.
|
||||
pub fn degrees(radians f64) f64 {
|
||||
return radians * (180.0 / Pi)
|
||||
return radians * (180.0 / pi)
|
||||
}
|
||||
|
||||
// exp calculates exponent of the number (math.pow(math.E, a)).
|
||||
@ -277,7 +277,7 @@ pub fn pow(a, b f64) f64 {
|
||||
|
||||
// radians convert from radians to degrees.
|
||||
pub fn radians(degrees f64) f64 {
|
||||
return degrees * (Pi / 180.0)
|
||||
return degrees * (pi / 180.0)
|
||||
}
|
||||
|
||||
// round returns the integer nearest to the provided value.
|
||||
|
16
vlib/os/os.v
16
vlib/os/os.v
@ -485,7 +485,7 @@ pub fn dir(path string) string {
|
||||
if path == '.' {
|
||||
return getwd()
|
||||
}
|
||||
pos := path.last_index(PathSeparator)
|
||||
pos := path.last_index(path_separator)
|
||||
if pos == -1 {
|
||||
return '.'
|
||||
}
|
||||
@ -502,7 +502,7 @@ fn path_sans_ext(path string) string {
|
||||
|
||||
|
||||
pub fn basedir(path string) string {
|
||||
pos := path.last_index(PathSeparator)
|
||||
pos := path.last_index(path_separator)
|
||||
if pos == -1 {
|
||||
return path
|
||||
}
|
||||
@ -510,7 +510,7 @@ pub fn basedir(path string) string {
|
||||
}
|
||||
|
||||
pub fn filename(path string) string {
|
||||
return path.all_after(PathSeparator)
|
||||
return path.all_after(path_separator)
|
||||
}
|
||||
|
||||
// get_line returns a one-line string from stdin
|
||||
@ -626,7 +626,7 @@ pub fn home_dir() string {
|
||||
}
|
||||
home += homepath
|
||||
}
|
||||
home += PathSeparator
|
||||
home += path_separator
|
||||
return home
|
||||
}
|
||||
|
||||
@ -795,7 +795,7 @@ pub fn walk_ext(path, ext string) []string {
|
||||
if file.starts_with('.') {
|
||||
continue
|
||||
}
|
||||
p := path + PathSeparator + file
|
||||
p := path + path_separator + file
|
||||
if os.is_dir(p) {
|
||||
res << walk_ext(p, ext)
|
||||
}
|
||||
@ -859,9 +859,9 @@ pub fn print_backtrace() {
|
||||
}
|
||||
|
||||
pub fn mkdir_all(path string) {
|
||||
mut p := if path.starts_with(os.PathSeparator) { os.PathSeparator } else { '' }
|
||||
for subdir in path.split(os.PathSeparator) {
|
||||
p += subdir + os.PathSeparator
|
||||
mut p := if path.starts_with(os.path_separator) { os.path_separator } else { '' }
|
||||
for subdir in path.split(os.path_separator) {
|
||||
p += subdir + os.path_separator
|
||||
if !os.dir_exists(p) {
|
||||
os.mkdir(p)
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ module os
|
||||
#include <unistd.h>
|
||||
|
||||
const (
|
||||
PathSeparator = '/'
|
||||
path_separator = '/'
|
||||
)
|
||||
|
||||
|
@ -4,7 +4,6 @@ module os
|
||||
#include <winsock2.h>
|
||||
|
||||
const (
|
||||
PathSeparator = '\\'
|
||||
path_separator = '\\'
|
||||
)
|
||||
|
||||
|
@ -7,7 +7,7 @@ module time
|
||||
import rand
|
||||
|
||||
const (
|
||||
MonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
||||
month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
||||
)
|
||||
|
||||
#include <time.h>
|
||||
@ -60,17 +60,17 @@ const (
|
||||
// The unsigned zero year for internal calculations.
|
||||
// Must be 1 mod 400, and times before it will not compute correctly,
|
||||
// but otherwise can be changed at will.
|
||||
absoluteZeroYear = i64(-292277022399)
|
||||
absolute_zero_year = i64(-292277022399)
|
||||
|
||||
secondsPerMinute = 60
|
||||
secondsPerHour = 60 * secondsPerMinute
|
||||
secondsPerDay = 24 * secondsPerHour
|
||||
secondsPerWeek = 7 * secondsPerDay
|
||||
daysPer400Years = 365*400 + 97
|
||||
daysPer100Years = 365*100 + 24
|
||||
daysPer4Years = 365*4 + 1
|
||||
seconds_per_minute = 60
|
||||
seconds_per_hour = 60 * seconds_per_minute
|
||||
seconds_per_day = 24 * seconds_per_hour
|
||||
seconds_per_week = 7 * seconds_per_day
|
||||
days_per_400_years = 365*400 + 97
|
||||
days_per_100_years = 365*100 + 24
|
||||
days_per_4_years = 365*4 + 1
|
||||
|
||||
daysBefore = [
|
||||
days_before = [
|
||||
0,
|
||||
31,
|
||||
31 + 28,
|
||||
@ -88,33 +88,38 @@ const (
|
||||
|
||||
)
|
||||
|
||||
const (
|
||||
months_string = 'JanFebMarAprMayJunJulAugSepOctNovDec'
|
||||
days_string = 'MonTueWedThuFriSatSun'
|
||||
)
|
||||
|
||||
|
||||
// Based on Go's time package.
|
||||
// Copyright 2009 The Go Authors.
|
||||
pub fn unix(abs int) Time {
|
||||
// Split into time and day.
|
||||
mut d := abs / secondsPerDay
|
||||
mut d := abs / seconds_per_day
|
||||
|
||||
// Account for 400 year cycles.
|
||||
mut n := d / daysPer400Years
|
||||
mut n := d / days_per_400_years
|
||||
mut y := 400 * n
|
||||
d -= daysPer400Years * n
|
||||
d -= days_per_400_years * n
|
||||
|
||||
// Cut off 100-year cycles.
|
||||
// The last cycle has one extra leap year, so on the last day
|
||||
// of that year, day / daysPer100Years will be 4 instead of 3.
|
||||
// of that year, day / days_per_100_years will be 4 instead of 3.
|
||||
// Cut it back down to 3 by subtracting n>>2.
|
||||
n = d / daysPer100Years
|
||||
n = d / days_per_100_years
|
||||
n -= n >> 2
|
||||
y += 100 * n
|
||||
d -= daysPer100Years * n
|
||||
d -= days_per_100_years * n
|
||||
|
||||
// Cut off 4-year cycles.
|
||||
// The last cycle has a missing leap year, which does not
|
||||
// affect the computation.
|
||||
n = d / daysPer4Years
|
||||
n = d / days_per_4_years
|
||||
y += 4 * n
|
||||
d -= daysPer4Years * n
|
||||
d -= days_per_4_years * n
|
||||
|
||||
// Cut off years within a 4-year cycle.
|
||||
// The last year is a leap year, so on the last day of that year,
|
||||
@ -128,10 +133,10 @@ pub fn unix(abs int) Time {
|
||||
yday := int(d)
|
||||
mut day := yday
|
||||
|
||||
year := abs / int(3.154e+7) + 1970 //int(i64(y) + absoluteZeroYear)
|
||||
hour := int(abs%secondsPerDay) / secondsPerHour
|
||||
minute := int(abs % secondsPerHour) / secondsPerMinute
|
||||
second := int(abs % secondsPerMinute)
|
||||
year := abs / int(3.154e+7) + 1970 //int(i64(y) + absolute_zero_year)
|
||||
hour := int(abs%seconds_per_day) / seconds_per_hour
|
||||
minute := int(abs % seconds_per_hour) / seconds_per_minute
|
||||
second := int(abs % seconds_per_minute)
|
||||
|
||||
if is_leap_year(year) {
|
||||
// Leap year
|
||||
@ -149,12 +154,12 @@ pub fn unix(abs int) Time {
|
||||
// The estimate may be too low by at most one month, so adjust.
|
||||
mut month := day / 31
|
||||
mut begin := 0
|
||||
end := int(daysBefore[month+1])
|
||||
end := int(days_before[month+1])
|
||||
if day >= end {
|
||||
month++
|
||||
begin = end
|
||||
} else {
|
||||
begin = int(daysBefore[month])
|
||||
begin = int(days_before[month])
|
||||
}
|
||||
|
||||
month++ // because January is 1
|
||||
@ -182,14 +187,10 @@ pub fn (t Time) format() string {
|
||||
return '${t.year}-${t.month:02d}-${t.day:02d} ${t.hour:02d}:${t.minute:02d}'
|
||||
}
|
||||
|
||||
const (
|
||||
Months = 'JanFebMarAprMayJunJulAugSepOctNovDec'
|
||||
Days = 'MonTueWedThuFriSatSun'
|
||||
)
|
||||
|
||||
pub fn (t Time) smonth() string {
|
||||
i := t.month - 1
|
||||
return Months.substr(i * 3, (i + 1) * 3)
|
||||
return months_string.substr(i * 3, (i + 1) * 3)
|
||||
}
|
||||
|
||||
// 21:04
|
||||
@ -386,7 +387,7 @@ pub fn (t Time) day_of_week() int {
|
||||
// weekday_str() returns the current day in string (upto 3 characters)
|
||||
pub fn (t Time) weekday_str() string {
|
||||
i := t.day_of_week() - 1
|
||||
return Days.substr(i * 3, (i + 1) * 3)
|
||||
return days_string.substr(i * 3, (i + 1) * 3)
|
||||
}
|
||||
|
||||
struct C.timeval {
|
||||
@ -450,6 +451,6 @@ pub fn days_in_month(month, year int) ?int {
|
||||
return error('Invalid month: $month')
|
||||
}
|
||||
extra := if month == 2 && is_leap_year(year) {1} else {0}
|
||||
res := MonthDays[month-1] + extra
|
||||
res := month_days[month-1] + extra
|
||||
return res
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user